import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int s=0;
while (kb.hasNext()) {
s++;
int n = kb.nextInt();
if(n==0)break;
HashMap<String, Integer> map = new HashMap<String, Integer>();
for (int i = 1; i <= n; i++) {
map.put(kb.next(), i);
}
double map1[][] = new double[n + 1][n + 1];
int m = kb.nextInt();
while (m-- > 0) {
String a = kb.next();
double b = kb.nextDouble();
String c = kb.next();
map1[map.get(a)][map.get(c)] = b;
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
for (int k = 1; k <= n; k++) {
if (map1[j][k] < map1[j][i] * map1[i][k]) {
map1[j][k] = map1[j][i] * map1[i][k];
}
}
}
}
boolean flag = false;
for(int i=1;i<=n;i++){
if(map1[i][i]>1){
flag=true;
break;
}
}
if(flag){
System.out.println("Case "+s+": Yes");
}else{
System.out.println("Case "+s+": No");
}
}
kb.close();
}
}