#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]; vector ans[200]; priority_queue > > pq; vector vec; scanf("%d%d%d%d",&n,&m,&s,&g); for(int i=0;i > p = pq.top(); pq.pop(); if(cost[p.second.second]>=p.first) continue; ans[p.second.second]=ans[-p.second.first]; ans[p.second.second].push_back(-p.second.first); cost[p.second.second]=p.first; if(p.second.second==g){ for(int i=0;i