/*#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*#include<stdio.h>
#include<string.h>
int main()
{
int n,i,p,stack[105]={};
char a[105]= {},b[105]= {};
scanf("%s",a);
scanf("%s",b);
if(strlen(a)>strlen(b))
{
n=strlen(a);
}
else
{
n=strlen(b);
}
stack[0]=((a[n-1]-'0')+(b[n-1]-'0'))%10;
for(i=0; i<n; i++)
{
p=((a[n-i]-'0')+(b[n-i]-'0'))%10;
stack[i+1]=((a[n-i+1]-'0')+(b[n-i+1]-'0')+p)%10;
}
for(i=0; i<n+1; i++)
{
printf("%d",stack[i]);
}
return 0;
}
*/
#include<stdio.h>
int max=0,summax=0,sum[10001]= {},i,j,k,n,m,arr[101][101]= {},map[101][101]= {};
void f(int a,int b,int c)
{
if(map[a][b]==1)
{
return;
}
if(a==0||a==n+1||b==0||b==n+1)
{
return;
}
if(max==c)
{
return;
}
map[a][b]=1;
f(a-1,b,c+1);
f(a+1,b,c+1);
f(a,b-1,c+1);
f(a,b+1,c+1);
}
int main()
{
scanf("%d",&n);
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(arr[i][j]>max)
{
max=arr[i][j];
}
}
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
for(k=0; k<max; k++)
{
if(arr[i][j]<=k)
{
map[i][j]=1;
}
else
{
map[i][j]=0;
for(m=0; m<max; m++)
{
f(i,j,m);
}
}
}
}
}
printf("%d",sum);
}



