#include #include #include #include #include #include #include #include #include #include using namespace std; int main(){ int n,m,s,g,a,b,c,cost[200]; vector > way[200]; priority_queue,int> > > pq; vector vec; scanf("%d%d%d%d",&n,&m,&s,&g); for(int i=0;i,int> > p = pq.top(); pq.pop(); if(p.second.second==g){ for(int i=0;ip.first) continue; cost[p.second.second]=p.first; vec = p.second.first; vec.push_back(-p.second.second); for(int i=0;i