CE了
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=9e6+6;
int n,dist[N],vis[N],mp[N][N];
int djstl(int n){
memset(dist,0x3f,sizeof dist);
dist[1]=0;
for(int i=1;i<=n;i++){
int index=-1;
for(int j=1;j<=n;j++){
if(!vis[i]&&(dist[j]<dist[index]||index==-1)){
index=j;
}
}
vis[index]=1;
for(int j=1;j<=n;j++){
dist[j]=min(dist[j],dist[index]+mp[index][1]);
}
}
if(dist[n]==0x3f3f3f3f)return (1<<31)-1;
else return dist[n];
}
signed main(){
cin>>n;
int m,s;
cin>>m>>s;
while(m--){
int a,b,c;cin>>a>>b>>c;
mp[a][b]=c;
}
cout<<djstl(s)<<endl;
return 0;
}