#include #include #include using namespace std; using ll = long long; using P = pair; int main(void){ int n, m, s, g; cin >> n >> m >> s >> g; vector dist(n, vector(n, 1e18)); vector> to(n); for(int i=0; i> a >> b >> c; to[a].emplace_back(b, c); dist[a][b]=c; swap(a, b); to[a].emplace_back(b, c); dist[a][b]=c; } for(int i=0; i ans; int now=s; ll d=dist[s][g]; while(now!=g){ ans.push_back(now); for(auto [p, c]:to[now]){ if(dist[s][now]+c+dist[p][g]==d){ now=p; break; } } } ans.push_back(g); for(auto p:ans) cout << p << ' '; cout << endl; return 0; }