#include <bits/stdc++.h>
using namespace std;
int N,b[10][10],d1[20],d2[20],ans;vector<pair<int,int>>B,W;
void dfs(int i,int c,vector<pair<int,int>>&v){
if(i==v.size()){ans=max(ans,c);return;}
int x=v[i].first,y=v[i].second;
if(!d1[x+y]&&!d2[x-y+N-1]) d1[x+y]=d2[x-y+N-1]=1,dfs(i+1,c+1,v),d1[x+y]=d2[x-y+N-1]=0;
dfs(i+1,c,v);
}
int main(){
ios::sync_with_stdio(0);cin.tie(0);
cin>>N;
for(int i=0;i<N;i++)for(int j=0;j<N;j++){cin>>b[i][j];if(b[i][j])((i+j)%2?W:B).push_back({i,j});}
dfs(0,0,B);int r=ans;ans=0;dfs(0,0,W);cout<<r+ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBOLGJbMTBdWzEwXSxkMVsyMF0sZDJbMjBdLGFuczt2ZWN0b3I8cGFpcjxpbnQsaW50Pj5CLFc7CnZvaWQgZGZzKGludCBpLGludCBjLHZlY3RvcjxwYWlyPGludCxpbnQ+PiZ2KXsKICAgIGlmKGk9PXYuc2l6ZSgpKXthbnM9bWF4KGFucyxjKTtyZXR1cm47fQogICAgaW50IHg9dltpXS5maXJzdCx5PXZbaV0uc2Vjb25kOwogICAgaWYoIWQxW3greV0mJiFkMlt4LXkrTi0xXSkgZDFbeCt5XT1kMlt4LXkrTi0xXT0xLGRmcyhpKzEsYysxLHYpLGQxW3greV09ZDJbeC15K04tMV09MDsKICAgIGRmcyhpKzEsYyx2KTsKfQppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTsKICAgIGNpbj4+TjsKICAgIGZvcihpbnQgaT0wO2k8TjtpKyspZm9yKGludCBqPTA7ajxOO2orKyl7Y2luPj5iW2ldW2pdO2lmKGJbaV1bal0pKChpK2opJTI/VzpCKS5wdXNoX2JhY2soe2ksan0pO30KICAgIGRmcygwLDAsQik7aW50IHI9YW5zO2Fucz0wO2RmcygwLDAsVyk7Y291dDw8cithbnM7Cn0=