#include using namespace std; #define int long long typedef long long ll; typedef pairpint; typedef vectorvint; typedef vectorvpint; #define pb push_back #define mp make_pair #define fi first #define se second #define ln <void chmin(T &t,U f){if(t>f)t=f;} templatevoid chmax(T &t,U f){if(t,greater>que; que.push(pint(0,start)); while(que.size()){ int c,v; tie(c,v)=que.top();que.pop(); int y=v/N,x=v%N; if(dist[y][x]=N||nx<0||nx>=N||dist[ny][nx]<=c+L[ny][nx])continue; dist[ny][nx]=c+L[ny][nx]; que.push({dist[ny][nx],ny*N+nx}); } } return dist[goal/N][goal%N]; } signed main(){ cin>>N>>H>>ox>>oy;ox--;oy--; rep(i,N)rep(j,N)cin>>L[i][j]; int A=calc(0,oy*N+ox); int B=calc(oy*N+ox,N*N-1); int C=calc(0,N*N-1); if((A