#include #include #include #include #include #include #include using namespace std; #define ll long long typedef struct edge{ ll to; ll cost; }Edge; typedef pair P; long long INF=1000000000000000000; int V; vector G[250000]; long long d[250000]; void dijkstra(ll s){ priority_queue,greater

> que; fill(d,d+V,INF); d[s]=0; que.push(P(0,s)); while(!que.empty()){ P p=que.top();que.pop(); int v=p.second; if(d[v]d[v]+e.cost){ d[e.to]=d[v]+e.cost; que.push(P(d[e.to],e.to)); } } } } ostream& operator<<(ostream& os,vector a){ for(Edge e:a){ os<<"to:"<>H>>W>>U>>D>>R>>L>>K; V=H*W;//don't forget vector C(H); for(int i=0;i>C.at(i); C.at(i).append("#"); } string s; for(int i=0;i>xs>>ys>>xt>>yt; xs--;ys--;xt--;yt--; for(int i=0;i