/*
#include <stdio.h>
int k, num=0;
int a[26][26]= {};
void dfs(int x, int y)
{
if(x>=0&&x<7&&y>=0&&y<7&&a[x][y]==k)
{
a[x][y]=-1;
num++;
dfs(x+1, y);
dfs(x-1, y);
dfs(x, y+1);
dfs(x, y-1);
}
}
int main()
{
int i, j, x, y, cnt=0, d[50]= {};
for(i=0; i<7; i++)
{
for(j=0; j<7; j++)
{
scanf("%d", &a[i][j]);
}
}
for(i=0; i<7; i++)
{
for(j=0; j<7; j++)
{
for(k=1; k<=5; k++)
{
if(a[i][j]==k)
{
num=0;
dfs(i,j);
d[cnt]=num;
if(num >= 3) cnt++;
}
}
}
}
printf("%d", cnt);
return 0;
}
*/
/* 4024
#include <stdio.h>
int n, k;
char a[101][101]={};
void dfs(int x, int y)
{
if(a[x][y]=='L'){
a[x][y]='X';
dfs(x-1, y+1);
dfs(x-1, y);
dfs(x-1, y-1);
dfs(x, y+1);
dfs(x, y-1);
dfs(x+1, y+1);
dfs(x+1, y);
dfs(x+1, y-1);
}
}
int main()
{
int i, j, x, y, num=0;
scanf("%d %d\n", &k, &n);
for(i=0;i<n;i++){
for(j=0;j<k;j++){
scanf("%2c", &a[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<k;j++){
if(a[i][j]=='L'){
num++;
dfs(i, j);
}
}
}
printf("%d", num);
return 0;
}
*/
/* 4572
#include <stdio.h>
int n, m, sum=0, arr[101][101]= {};
void dfs(int x, int y)
{
if(x>=0&&x<n&&y>=0&&y<m&&arr[x][y]==0)
{
arr[x][y]=-1;
sum++;
dfs(x+1, y);
dfs(x-1, y);
dfs(x, y+1);
dfs(x, y-1);
}
}
int main()
{
int i, j, k, a, b, c, d, x, y, t;
int num=0, tmp=0, area[101]= {};
scanf("%d %d %d", &m, &n, &k);
for(t=0; t<k; t++)
{
scanf("%d %d %d %d", &a, &b, &c, &d);
for(i=a; i<c; i++)
{
for(j=b; j<d; j++)
{
arr[i][j]=1;
}
}
}
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
if(arr[i][j]==0)
{
sum=0;
num++;
dfs(i, j);
area[num]=sum;
}
}
}
for(i=1; i<num; i++)
{
for(j=1; j<=num-i; j++)
{
if(area[j]>area[j+1])
{
tmp=area[j];
area[j]=area[j+1];
area[j+1]=tmp;
}
}
}
printf("%d\n", num);
for(i=1; i<=num; i++)
{
printf("%d ", area[i]);
}
return 0;
}
*/
// 4697
#include <stdio.h>
int n, h, sum=0;
int arr[101][101]= {};
void dfs(int x, int y)
{
if(x>=0&&x<n&&y>=0&&y<n&&arr[x][y]>=1&&arr[x][y]<=h)
{
arr[x][y]=-1;
sum++;
dfs(x+1, y);
dfs(x-1, y);
dfs(x, y+1);
dfs(x, y-1);
}
}
int main()
{
int i, j, k, n, max=0, mi[101]= {};
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++)
{
for(k=0; (1<=h&&h<=100)&&k<h; k++)
{
if(arr[i][j]>=1&&arr[i][j]<=h)
{
sum=0;
dfs(i, j);
mi[k]=sum;
}
}
}
}
for(i=0; (1<=h&&h<=100)&&i<k; i++)
{
if(sum<mi[i]) mi[i]=sum;
}
printf("%d", sum);
return 0;
}