H,W = list(map(int,input().split())) A = [list(map(int,input().split())) for i in range(H)] B = [] for i in range(H): for j in range(W): B.append((A[i][j],i,j)) B.sort(key=lambda x:x[0]) from collections import defaultdict DP = [[0]*W for i in range(H)] ans = 0 for a, i, j in B: dp = 0 if i > 0 and A[i-1][j] < a: dp = max(DP[i-1][j], dp) if j > 0 and A[i][j-1] < a: dp = max(DP[i][j-1], dp) if i < H-1 and A[i+1][j] < a: dp = max(DP[i+1][j], dp) if j < W-1 and A[i][j+1] < a: dp = max(DP[i][j+1], dp) DP[i][j] = dp + 1 ans = max(dp+1,ans) print(ans)