#include <iostream>
#include <map>
#include <string>
#include <cstring>
using namespace std;
//看博友分析 floyd实现 bellman_flod未实现 spfa未实现
map<string,int> mp;
double da[40][40];
int main()
{
int tag=0;
while(1)
{
tag++;
mp.clear();
int n;
cin>>n;
if(n==0)
{
break;
}
for(int i=0;i<n;i++)
{
string s;
cin>>s;
mp[s]=i+1;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==j)
{
da[i][j]=1;
}else
{
da[i][j]=-1;
}
}
}
int m;
cin>>m;
for(int i=0;i<m;i++)
{
string sa,sb;
double zhi;
cin>>sa>>zhi>>sb;
int a=mp[sa];
int b=mp[sb];
da[a][b]=zhi;
}
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(da[i][k]!=-1 && da[k][j]!=-1)
{
if(da[i][j]==-1||da[i][j]<da[i][k]*da[k][j])
{
da[i][j]=da[i][k]*da[k][j];
}
}
}
}
}
/*
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<da[i][j]<<" ";
}
cout<<endl;
}*/
cout<<"Case "<<tag<<": ";
if(da[1][1]>1)
{
cout<<"Yes"<<endl;
}else
{
cout<<"No"<<endl;
}
}
return 0;
}