#include<bits/stdc++.h>
using namespace std;
int Map[105][105],maxans=-99999;
int r,c;
void dfs(int x,int y,int ans){
maxans=max(ans,maxans);
if(Map[x-1][y]<Map[x][y])dfs(x-1,y,ans+1);
if(Map[x+1][y]<Map[x][y])dfs(x+1,y,ans+1);
if(Map[x][y+1]<Map[x][y])dfs(x,y+1,ans+1);
if(Map[x][y-1]<Map[x][y])dfs(x,y-1,ans+1);
return;
}
int main(){
cin>>r>>c;
for(int i=1;i<=r;i++){
for(int j=1;j<=c;j++){
cin>>Map[i][j];
}
}
for(int i=1;i<=r;i++){
for(int j=1;j<=c;j++){
dfs(i,j,0);
}
}
cout<<maxans;
return 0;
}