#include<iostream>
#include<cmath>
#include<vector>
#include<climits>
#include<algorithm>
#include<numeric>
#include<iomanip>
#include<map>
#include<unordered_map>
#include<set>
#include<random>
#include<cassert>
using namespace std;
#define ll long long int
#define ld long double
const ll Mod = (ll)1e9+7;
ll n;
set<pair<ll,ll> > ss;
ll M[100][100];
void f(ll x,ll y)
{
if(x>n || y>n || x<1 || y<1)
{
return;
}
if(M[x][y]==0){return;}
if(M[x][y])
{
// can be reached
ss.erase({x,y});
}
M[x][y]=0 ;
f(x+1,y+2);
f(x+2,y+1);
f(x-1,y-2);
f(x-2,y-1);
f(x+1,y-2);
f(x-1,y+2);
f(x+2,y-1);
f(x-2,y+1);
M[x][y]=1;
// to block after one call
return;
}
int main()
{
cin>>n;
// n*n;
for(ll i=1;i<=n;i++)
for(ll j=1;j<=n;j++)
{cin>>M[i][j];
if(M[i][j]){ss.insert({i,j}) ;}
}
f(1,1);
ll ans = (ll)ss.size() ;
cout<<ans<<endl;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNtYXRoPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPGNsaW1pdHM+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8bnVtZXJpYz4KI2luY2x1ZGU8aW9tYW5pcD4KI2luY2x1ZGU8bWFwPgojaW5jbHVkZTx1bm9yZGVyZWRfbWFwPgojaW5jbHVkZTxzZXQ+CiNpbmNsdWRlPHJhbmRvbT4KI2luY2x1ZGU8Y2Fzc2VydD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcgaW50CiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKY29uc3QgbGwgTW9kID0gKGxsKTFlOSs3OwpsbCBuOwpzZXQ8cGFpcjxsbCxsbD4gPiBzczsKbGwgTVsxMDBdWzEwMF07Cgp2b2lkIGYobGwgeCxsbCB5KQp7CglpZih4Pm4gfHwgeT5uIHx8IHg8MSB8fCB5PDEpCgl7CglyZXR1cm47CQoJfQoJaWYoTVt4XVt5XT09MCl7cmV0dXJuO30KCQoJaWYoTVt4XVt5XSkKCXsKCS8vIGNhbiBiZSByZWFjaGVkCglzcy5lcmFzZSh7eCx5fSk7CQogICAgIH0KICAgIE1beF1beV09MCA7IAogICAgCglmKHgrMSx5KzIpOwoJZih4KzIseSsxKTsKCWYoeC0xLHktMik7CglmKHgtMix5LTEpOwoJZih4KzEseS0yKTsKCWYoeC0xLHkrMik7CglmKHgrMix5LTEpOwoJZih4LTIseSsxKTsKCQoJTVt4XVt5XT0xOwoJLy8gdG8gYmxvY2sgYWZ0ZXIgb25lIGNhbGwKCQoJcmV0dXJuOwp9CgppbnQgbWFpbigpCnsKCWNpbj4+bjsKCS8vIG4qbjsKCWZvcihsbCBpPTE7aTw9bjtpKyspCglmb3IobGwgaj0xO2o8PW47aisrKQoJe2Npbj4+TVtpXVtqXTsKCWlmKE1baV1bal0pe3NzLmluc2VydCh7aSxqfSkgO30JCgl9CgoJZigxLDEpOwoKCWxsIGFucyA9IChsbClzcy5zaXplKCkgOwoJY291dDw8YW5zPDxlbmRsOwoJCnJldHVybiAwOwp9Cg==