#include <bits/stdc++.h>
using namespace std;
int n,m, a[54][54], dist, chiDist=987654321, townDist, ansDist=987654321;
vector<pair<int,int>> chi, home;
vector<int> picked;
void cal(){
townDist=0;
for(int i=0; i<home.size(); i++){
chiDist = 987654321;
for(int j=0; j<m; j++){
int r1 = home[i].first;
int c1 = home[i].second;
int r2 = chi[picked[j]].first;
int c2 = chi[picked[j]].second;
dist = abs(r1-r2)+abs(c1-c2);
chiDist = min(dist, chiDist);
}
townDist += chiDist;
}
}
void choose(int idx, int cnt){
if(cnt==m){
cal();
ansDist = min(townDist, ansDist);
return;
}
if(idx==chi.size()) return;
picked.push_back(idx);
choose(idx+1, cnt+1);
picked.pop_back();
choose(idx+1, cnt);
}
int main() {
cin>>n>>m;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
cin>>a[i][j];
if(a[i][j]==2) chi.push_back({i,j});
if(a[i][j]==1) home.push_back({i,j});
}
}
choose(0,0);
cout<<ansDist;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbixtLCBhWzU0XVs1NF0sIGRpc3QsIGNoaURpc3Q9OTg3NjU0MzIxLCB0b3duRGlzdCwgYW5zRGlzdD05ODc2NTQzMjE7CnZlY3RvcjxwYWlyPGludCxpbnQ+PiBjaGksIGhvbWU7CnZlY3RvcjxpbnQ+IHBpY2tlZDsKCnZvaWQgY2FsKCl7Cgl0b3duRGlzdD0wOwoJZm9yKGludCBpPTA7IGk8aG9tZS5zaXplKCk7IGkrKyl7CgkJY2hpRGlzdCA9IDk4NzY1NDMyMTsKCQlmb3IoaW50IGo9MDsgajxtOyBqKyspewoJCQlpbnQgcjEgPSBob21lW2ldLmZpcnN0OwoJCQlpbnQgYzEgPSBob21lW2ldLnNlY29uZDsKCQkJCgkJCWludCByMiA9IGNoaVtwaWNrZWRbal1dLmZpcnN0OwoJCQlpbnQgYzIgPSBjaGlbcGlja2VkW2pdXS5zZWNvbmQ7CgkJCQoJCQlkaXN0ID0gYWJzKHIxLXIyKSthYnMoYzEtYzIpOwoJCQljaGlEaXN0ID0gbWluKGRpc3QsIGNoaURpc3QpOwoJCX0KCXRvd25EaXN0ICs9IGNoaURpc3Q7Cgl9Cn0KCnZvaWQgY2hvb3NlKGludCBpZHgsIGludCBjbnQpewoJCglpZihjbnQ9PW0pewoJCWNhbCgpOwoJCWFuc0Rpc3QgPSBtaW4odG93bkRpc3QsIGFuc0Rpc3QpOwoJCXJldHVybjsKCX0KCWlmKGlkeD09Y2hpLnNpemUoKSkgcmV0dXJuOwoJCglwaWNrZWQucHVzaF9iYWNrKGlkeCk7CgljaG9vc2UoaWR4KzEsIGNudCsxKTsKCXBpY2tlZC5wb3BfYmFjaygpOwoJY2hvb3NlKGlkeCsxLCBjbnQpOwp9CgppbnQgbWFpbigpIHsKCWNpbj4+bj4+bTsKCWZvcihpbnQgaT0wOyBpPG47IGkrKyl7CgkJZm9yKGludCBqPTA7IGo8bjsgaisrKXsKCQkJY2luPj5hW2ldW2pdOwoJCQlpZihhW2ldW2pdPT0yKQljaGkucHVzaF9iYWNrKHtpLGp9KTsKCQkJaWYoYVtpXVtqXT09MSkJaG9tZS5wdXNoX2JhY2soe2ksan0pOwoJCX0KCX0KCQoJY2hvb3NlKDAsMCk7Cgljb3V0PDxhbnNEaXN0OwoJCglyZXR1cm4gMDsKfQ==