for(int k = 1; k <= n*m; k++){
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
if(mp[i][j]<mp[i-1][j]) dp[i][j]=max(dp[i][j], dp[i-1][j]+1);
if(mp[i][j]<mp[i+1][j]) dp[i][j]=max(dp[i][j], dp[i+1][j]+1);
if(mp[i][j]<mp[i][j+1]) dp[i][j]=max(dp[i][j], dp[i][j+1]+1);
if(mp[i][j]<mp[i][j-1]) dp[i][j]=max(dp[i][j], dp[i][j-1]+1);
res = max(res, dp[i][j]);
}
}
}