#include #include #include #include #include #include #include using namespace std; #define int long long #define rep(i,n) for(int i = 0; i < (n); i++) #define endl "\n" const long long INF = (long long)1e16; const long long MOD = (long long)1e9 + 7; string yn(bool f){return f?"Yes":"No";} string YN(bool f){return f?"YES":"NO";} #define MAX 2100 int N, M, P, Q, T; void dijkstra(vector &dis, vector>> G, int s){ priority_queue, vector>, greater>> Q; dis.resize(N, INF); dis[s] = 0; Q.push(make_pair(0,s)); while(!Q.empty()){ pair p = Q.top(); Q.pop(); int n = p.second; // cout<<"dis = "< y : G[n]){// cout<<"G[n] "< T) continue; // cout<