import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { Scanner jin=new Scanner(System.in); int N,M; int dist[][]=new int[105][105]; while((N=jin.nextInt())!=0&&(M=jin.nextInt())!=0){ for(int i=1;i<=N;i++) for(int j=1;j<=N;j++) dist[i][j]=i==j?0:10005; for(int i=0;i<M;i++){ int A=jin.nextInt(),B=jin.nextInt(),C=jin.nextInt(); dist[B][A]=dist[A][B]=Math.min(C,dist[A][B]); } for(int k=1;k<=N;k++) for(int i=1;i<=N;i++) for(int j=1;j<=N;j++) dist[j][i]=dist[i][j]=Math.min(dist[i][j], dist[i][k]+dist[k][j]); System.out.println(dist[1][N]); } } } /************************************************************** Problem: 2230 User: admin Language: Java Result: Accepted Time:956 ms Memory:57508 kb ****************************************************************/