import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes") no = lambda :print("no");No = lambda :print("No") ####################################################################### h,w = na() a = [na() for i in range(h)] f = [] for i in range(h): for j in range(w): f.append((a[i][j],i,j)) f = sorted(f) dp = [[0]*w for i in range(h)] for x, i, j in f: for dx, dy in [(0,1),(1,0),(-1,0),(0,-1)]: ni,nj = i+dx,j+dy if 0<=nia[ni][nj]: dp[i][j] = max(dp[i][j],dp[ni][nj]+1) print(max([max(i) for i in dp])+1)