#include<bits/stdc++.h>
#define Y first
#define X second
usingnamespacestd;usingpii=pair<int,int>;constintSZ=100;constintdy[]={-1,1,0,0};constintdx[]={0,0,-1,1};intn,board[SZ][SZ];boolvisited[SZ][SZ];intupper=0;voidbfs(piisrc,intlimit){queue<pii>q;q.push(src);visited[src.Y][src.X]=true;while(!q.empty()){piicur=q.front();q.pop();for(intdir=0;dir<4;dir++){intny=cur.Y+dy[dir];intnx=cur.X+dx[dir];if(ny<0||nx<0||ny>=n||nx>=n)continue;if(visited[ny][nx]||board[ny][nx]<=limit)continue;q.push({ny,nx});visited[ny][nx]=true;}}}intsolve(intlimit){intret=0;fill_n(&visited[0][0],SZ*SZ,false);for(inti=0;i<n;i++){for(intj=0;j<n;j++){if(board[i][j]>limit&&!visited[i][j]){bfs({i,j},limit);ret++;}}}returnret;}intmain(void){ios::sync_with_stdio(false);cin.tie(NULL);intans=0;cin>>n;for(inti=0;i<n;i++){for(intj=0;j<n;j++){cin>>board[i][j];upper=max(upper,board[i][j]);}}for(intlimit=0;limit<=upper;limit++)ans=max(solve(limit),ans);cout<<ans;return0;}