#include <iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N = 205;const int M = 20005;const int INF = 0x3f3f3f3f;int weight[N][N];char city[N][33];int m,n,num;char str[33];int st,ed;int getid(){ int i; for(i = 1;i < num;i ++) if(strcmp(str,city[i]) == 0) return i; return i;}void Floyd(){ int i,j,k; for(k = 1;k <= n;k ++) for(i = 1;i <= n;i ++) for(j = 1;j <= n;j ++) weight[i][j] = max(weight[i][j],min(weight[i][k],weight[k][j]));}int main(){ int i,a,b; int cas = 0; while(scanf("%d%d",&n,&m),(n + m)) { num = 1; memset(weight,0,sizeof(weight)); for(i = 1;i <= m;i ++) { scanf("%s",str); a = getid(); if(a == num) strcpy(city[num],str),num++; scanf("%s",str); b = getid(); if(b == num) strcpy(city[num],str),num++; scanf("%d",&weight[a][b]); weight[b][a] = weight[a][b]; } scanf("%s",str); st = getid(); scanf("%s",str); ed = getid(); printf("Scenario #%dn",++cas); Floyd(); printf("%d tonsnn",weight[st][ed]); } return 0;}