#include <iostream>
#include <map>
#include <string>
#include <memory.h>
using namespace std;
;
int n; //货币种类
int m; //兑换方式
mapSTL; //建立一个字符串与整数一一对应的容器STL,以便利用邻接矩阵存储数据
double rate;
],str1[],str2[];
][];
int i,j,k;
void floyd(void)
{
;k<=n;k++)
;i<=n;i++)
;j<=n;j++)
if(dis[i][j] < dis[i][k] * dis[k][j]) //变形的最大路径,变"+"为"*"
dis[i][j] = dis[i][k] * dis[k][j];
return;
}
int main()
{
// freopen("in.txt","r",stdin);
;
while(cases)
{
memset(dis,inf,sizeof(dis));
cin>>n;
if(!n)break;
;i<=n;i++)
{
cin>>str;
STL[str]=i; //将输入的货币从1到n依次编号
dis[i][i]=; //到自身的转换率默认为1,但通过floyd可能会被改变
}
cin>>m;
;i<=m;i++)
{
cin >> str1 >> rate >> str2;
dis[STL[str1]][STL[str2]]=rate; //构造图
}
floyd();
int flag=false;
;i<=n;i++)
)
{
flag=true;
break;
}
if(flag)
cout<<"Case "<<cases++<<": Yes"<<endl;
else
cout<<"Case "<<cases++<<": No"<<endl;
}
;
}