#include #include #include #include #include #include using namespace std;int ans[200][200];int tall[200][200];int dx[]={ 0,1,-1,0,0};int dy[]={ 0,0,0,1,-1};int n,m;int dfs(int kx,int ky){ int x=1,nx,ny;// x=1; !! for(int i=1;i<=4;i++) { nx=kx+dx[i];ny=ky+dy[i]; if(nx<=n&&nx>=1&&ny>=1&&ny<=m) if(tall[kx][ky]>tall[nx][ny]) { if(ans[nx][ny]!=1) x=max(x,ans[nx][ny]+1); else x=max(x,dfs(nx,ny)+1); } } return ans[kx][ky]=x; }int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { scanf("%d",&tall[i][j]); ans[i][j]=1; } int ans2=-10; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { ans2=max(ans2,dfs(i,j)); } printf("%d",ans2); return 0;}