#include<bits/stdc++.h>
using namespace std;
const int maxn=1005;
int n,m;
int e[maxn][maxn];
int dis[maxn],vis[maxn];
void f(){
for(int i=0;i<=n;i++) dis[i] = 1e9;
dis[1] = 0;
for(int i = 1;i<=n;i++){
int u = 0;
for(int j=1;j<=n;j++){
if(!vis[j] && dis[j]<dis[u]) u=j;
}
vis[u]=1;
for(int j=1;j<=n;j++){
if(e[u][j]){
int v=j;
int w=e[u][j];
if(dis[v]>dis[u]+w){
dis[v]=dis[u]+w;
}
}
}
}
}
int main(){
cin>>n>>m;
for(int i=0;i<m;i++){
int u,v,w;
cin>>u>>v>>w;
int tmp=e[u][v] ? e[u][v]:1e9;
e[u][v] = e[v][u] = min(tmp,w);
}
f();
for(int i=2;i<=n;i++){
cout<<dis[i]<<endl;
}
return 0;
}