#include #include int n,m,s,c; #define MOC 1000000000 typedef struct { int z,kam,cena; }hrana; hrana hrany[50000]; int zac[55000]; int cena[10000]; int docas[10000]; int cmp(const void *q1,const void *q2){ hrana *p1=(hrana*)q1,*p2=(hrana*)q2; return(p1->z - p2->z); } int main(){ int i,j,k,mn; while(1){ scanf("%d%d%d%d",&n,&m,&s,&c); if(n==0) return 0; s--;c--; for(i=0;i= cena[k] + hrany[j].cena) cena[hrany[j].kam] = cena[k] + hrany[j].cena; } printf("%d\n",cena[c]); } }