#include using namespace std; using ll=long long; using pll=pair; using tll=tuple; const ll INF=(1ll<<60); #define rep(i,n) for (ll i=0;i<(ll)(n);i++) #define all(v) v.begin(),v.end() template void chmin(T &a,T b){ if(a>b){ a=b; } } template void chmax(T &a,T b){ if(a> h >> w; h-=2; vector> a(h,vector(w)); rep(i,h){ rep(j,w){ cin >> a[i][j]; } } vector> dp(h,vector(w+1,INF)); rep(i,h) dp[i][0]=0; rep(j,w){ rep(i,h){ if(a[i][j]==-1) continue; ll now=a[i][j]; for(ll k=i-2;0<=k;k--){ if(a[k+1][j]==-1) break; now+=a[k+1][j]; for(ll kk=max(0ll,i-1);kk<=min(h-1,i+1);kk++){ chmin(dp[kk][j+1],dp[i][j]+now); } } for(ll k=max(0ll,i-1);k<=min(h-1,i+1);k++){ chmin(dp[k][j+1],dp[i][j]+a[i][j]); } now=a[i][j]; for(ll k=i+2;k