#include #include using namespace std; using ll = long long; #define rep(i,n) for(int i=0;i<(int)(n);i++) using mint = atcoder::modint998244353; int main(){ int h,w; cin>>h>>w; vector> a(h,vector(w)); rep(i,h) rep(j,w) cin>>a.at(i).at(j); vector> p; rep(i,h) rep(j,w) p.push_back({i,j}); sort(p.begin(),p.end(),[&](pair x,pair y){ return a.at(x.first).at(x.second) dd={0,1,0,-1,0}; auto isok=[&](int x,int y){ return 0<=x&&x> dp(h,vector(w,1)); int ans=0; for(auto[x,y]:p){ ans=max(ans,dp.at(x).at(y)); rep(i,4){ int nx=x+dd.at(i); int ny=y+dd.at(i+1); if(isok(nx,ny)&&a.at(x).at(y)