import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
List<List<Integer>> v0 = new ArrayList<>();//存储各0节点的坐标
List<List<Integer>> v1 = new ArrayList<>();//存储各1节点的坐标
for(int i = 0; i < n; ++i){
for(int j = 0; j < n; ++j){
List<Integer> temp = new ArrayList<>();
temp.add(i);
temp.add(j);
if(sc.nextInt() == 0) v0.add(temp);
else v1.add(temp);
}
}
if(v0.isEmpty()){
System.out.println(-1);
return;
}
int r = Integer.MAX_VALUE;//初始最小距离
for(List<Integer> i : v0){
int res = 0;
for(List<Integer> j : v1){//绝对值函数,计算曼哈顿距离
res += Math.abs(i.get(0) - j.get(0)) + Math.abs(i.get(1) - j.get(1));
}
if(r > res) r = res;
}
System.out.println(r);
}
}