//From NT5.0 (XP)
#include "stdio.h"
int queue[1001]={},head=0,tail=0,link[100][100]={},n,d[1001]={};
void enqueue(int x)
{
queue[tail]=x;
tail++;
tail%=1000;
return;
}
int dequeue()
{
int temp;
temp=queue[head];
head++;
head%=1000;
return temp;
}
int relax(int x,int y)
{
if(link[x][y]+d[x]<d[y]){d[y]=link[x][y]+d[x];return 1;}
return 0;
}
void spfa()
{
int i,j,qe;
while(head!=tail)
{
qe=dequeue();
for(i=1;i<=n;i++)
{
if(link[qe][i]!=0)
{
if(relax(qe,i)==1)enqueue(i);
}
}
}
}
int main()
{
int i,j,k;
for(i=0;i<1001;i++)d[i]=32767;
scanf("%d",&n);
for(;;)
{
scanf("%d %d %d",&i,&j,&k);
if(k==0)break;
link[i][j]=k;
}
d[0]=0;
enqueue(0);
spfa();
for(i=1;i<=n;i++)printf("d[%d]=%d/n",i,d[i]);
return 0;
}