#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<iostream>
#define LOC
#define maxn 110
using namespace std;
int r,c;
int a[maxn][maxn];
int f[maxn][maxn];
int dx[]={-1,1,0,0};
int dy[]={0,0,-1,1};
int dp(int x,int y)
{
if(f[x][y]!=1)return f[x][y];
for(int i=0;i<4;i++)
{
int nx=x+dx[i];
int ny=y+dy[i];
if(nx>0&&nx<=r&&ny>0&&ny<=c)
{
if(a[nx][ny]>a[x][y])f[x][y]=max(f[x][y],dp(nx,ny)+1);
}
}
return f[x][y];
}
int main()
{
#ifdef LOC
freopen("ski.in","r",stdin);
freopen("ski.out","w",stdout);
#endif
scanf("%d %d",&r,&c);
for(int i=1;i<=r;i++)
for(int j=1;j<=c;j++)
scanf("%d",&a[i][j]);
for(int i=1;i<=r;i++)
for(int j=1;j<=c;j++)
f[i]