#include #include #include #define VMAX 10020 #define EMAX 50020 #define NEK 10000009 long d[VMAX]; int t[VMAX]; int e[EMAX][3]; int hrany_zac[VMAX]; int n,m,s,c,v; int i,j; long min; int porovnej(const void* h1, const void* h2) { if( *((int*)h1)==*((int*)h2)) return 0; return ( *((int*)h1) < *((int*)h2)? 1 : -1 ); } int main(){ while(scanf("%d%d%d%d",&n,&m,&s,&c), n!=0 || m!=0 || c!=0 || s!=0) { for(i=0;i d[v]+e[j][2]) d[ e[j][1] ] = d[v]+e[j][2]; } } printf("%ld\n",d[c]); } return 0; }