import java.io.*; import java.util.*; public class fiber { public static void main(String[] args) { try { LineNumberReader Quelle = new LineNumberReader(new FileReader("fiber.in")); node[] nodes; while(true) { String Zeile = Quelle.readLine(); if (Zeile==null) return; StringTokenizer Tokens = new StringTokenizer(Zeile); int anzahl = Integer.parseInt(Tokens.nextToken()); if (anzahl==0) return; nodes = new node[anzahl+1]; for (int i=1; i<=anzahl; i++) { nodes[i] = new node(anzahl, i); //System.out.println("added node "+i); } int source, target; String companies, route; int companymask=0; while (true) { Zeile = Quelle.readLine(); if (Zeile==null) return; Tokens = new StringTokenizer(Zeile); source = Integer.parseInt(Tokens.nextToken()); target = Integer.parseInt(Tokens.nextToken()); //System.out.println("adding route from "+source+" to "+target); if ((source==0) && (target==0)) break; companies = Tokens.nextToken(); nodes[source].addroute(companies,nodes[target]); for (int j=0; j