#include <bits/stdc++.h>
#define pep_Guardiola \
ios::sync_with_stdio(0); \
cin.tie(0); \
cout.tie(0);
using namespace std;
const long double eps = 1e-9;
int t = 1;
struct Edge
{
int u, v;
long double w;
Edge(int u, int v, long double w) : u(u), v(v), w(w) {}
Edge() = default;
};
int main(void)
{
pep_Guardiola int n;
while (cin >> n)
{
if (!n)
break;
int id = 0;
map<string, int> mp;
for (int i = 0; i < n; i++)
{
string s;
cin >> s;
mp[s] = id++;
}
int m;
cin >> m;
vector<Edge> a(m);
for (int i = 0; i < m; i++)
{
string s, t;
long double w;
cin >> s >> w >> t;
a[i] = Edge(mp[s], mp[t], w);
}
function<bool(int)> go = [&](int src) -> bool
{
vector<long double> dist(id + 1, 0.0);
dist[src] = 1.0;
function<bool(int, int, long double)> relax = [&](int u, int v, long double w) -> bool
{ return ((dist[u] * w) > dist[v] + eps) ? (dist[v] = dist[u] * w, true) : false; };
for (int i = 0; i < n; i++)
for (auto &[u, v, w] : a)
relax(u, v, w);
return dist[src] > (1.0 + eps);
};
bool ok = 0;
for (int i = 0; i < id; i++)
ok |= (go(i));
cout << "Case " << t++ << ": " << (ok ? "Yes\n" : "No\n");
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgcGVwX0d1YXJkaW9sYSAgICAgIFwKICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgXAogIGNpbi50aWUoMCk7ICAgICAgICAgICAgICBcCiAgY291dC50aWUoMCk7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGxvbmcgZG91YmxlIGVwcyA9IDFlLTk7CmludCB0ID0gMTsKc3RydWN0IEVkZ2UKewogIGludCB1LCB2OwogIGxvbmcgZG91YmxlIHc7CiAgRWRnZShpbnQgdSwgaW50IHYsIGxvbmcgZG91YmxlIHcpIDogdSh1KSwgdih2KSwgdyh3KSB7fQogIEVkZ2UoKSA9IGRlZmF1bHQ7Cn07CmludCBtYWluKHZvaWQpCnsKICBwZXBfR3VhcmRpb2xhIGludCBuOwogIHdoaWxlIChjaW4gPj4gbikKICB7CiAgICBpZiAoIW4pCiAgICAgIGJyZWFrOwogICAgaW50IGlkID0gMDsKICAgIG1hcDxzdHJpbmcsIGludD4gbXA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgc3RyaW5nIHM7CiAgICAgIGNpbiA+PiBzOwogICAgICBtcFtzXSA9IGlkKys7CiAgICB9CiAgICBpbnQgbTsKICAgIGNpbiA+PiBtOwogICAgdmVjdG9yPEVkZ2U+IGEobSk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG07IGkrKykKICAgIHsKICAgICAgc3RyaW5nIHMsIHQ7CiAgICAgIGxvbmcgZG91YmxlIHc7CiAgICAgIGNpbiA+PiBzID4+IHcgPj4gdDsKICAgICAgYVtpXSA9IEVkZ2UobXBbc10sIG1wW3RdLCB3KTsKICAgIH0KCiAgICBmdW5jdGlvbjxib29sKGludCk+IGdvID0gWyZdKGludCBzcmMpIC0+IGJvb2wKICAgIHsKICAgICAgdmVjdG9yPGxvbmcgZG91YmxlPiBkaXN0KGlkICsgMSwgMC4wKTsKICAgICAgZGlzdFtzcmNdID0gMS4wOwogICAgICBmdW5jdGlvbjxib29sKGludCwgaW50LCBsb25nIGRvdWJsZSk+IHJlbGF4ID0gWyZdKGludCB1LCBpbnQgdiwgbG9uZyBkb3VibGUgdykgLT4gYm9vbAogICAgICB7IHJldHVybiAoKGRpc3RbdV0gKiB3KSA+IGRpc3Rbdl0gKyBlcHMpID8gKGRpc3Rbdl0gPSBkaXN0W3VdICogdywgdHJ1ZSkgOiBmYWxzZTsgfTsKICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgZm9yIChhdXRvICZbdSwgdiwgd10gOiBhKQogICAgICAgICAgcmVsYXgodSwgdiwgdyk7CiAgICAgIHJldHVybiBkaXN0W3NyY10gPiAoMS4wICsgZXBzKTsKICAgIH07CiAgICBib29sIG9rID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaWQ7IGkrKykKICAgICAgb2sgfD0gKGdvKGkpKTsKICAgIGNvdXQgPDwgIkNhc2UgIiA8PCB0KysgPDwgIjogIiA8PCAob2sgPyAiWWVzXG4iIDogIk5vXG4iKTsKICB9Cn0=