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);
    }
}