#include using namespace std; using ll = long long; int main(){ int h,w; cin>>h>>w; vector > a(h,vector(w,0)); for(int i = 1;i>a[i][j]; vector>vis(h,vector(w,1e14)); using dat = pair>; priority_queue,greater>que; for(int i = 1;i=h-1||nnj<0||nnj>=w) continue; if(vis[nni][nnj]<=vis[ni][nj]+a[nni][nnj]) continue; if(a[nni][nnj]==-1) continue; vis[nni][nnj] = vis[ni][nj] + a[nni][nnj]; que.push(make_pair(vis[nni][nnj],make_pair(nni,nnj))); } } ll ans = 1e14; for(int i = 1;i