#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define fi first
#define se second
#define mp make_pair
#define all(cont) cont.begin(), cont.end()
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
ll tt = 1;
ll N;
string str;
while(getline(cin,str))
{
N = stoll(str);
ll M;
string val,a,b;
vector<string>arr(N);
unordered_map<string,bool>visited;
for(ll i=0;i<N;i++)
{
cin>>val;
arr[i] = val;
visited[val] = false;
}
unordered_map<string,ll>indegree;
unordered_map<string,vector<string>>adj;
cin>>M;
for(ll i=0;i<M;i++)
{
cin>>a>>b;
adj[a].pb(b);
indegree[b]++;
}
string ans;
while(true)
{
bool flag = false;
for(int i=0;i<N;i++)
{
if(indegree[arr[i]]==0 && !visited[arr[i]])
{
ans += arr[i]+" ";
for(auto it:adj[arr[i]])
indegree[it]--;
flag = true;
visited[arr[i]] = true;
}
}
if(flag==false)
break;
}
cout<<"Case #"<<tt<<": Vivek should drink beverages in this order: "<<ans<<endl;
cout<<endl;
tt++;
getline(cin,str);
getline(cin,str);
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIGFsbChjb250KSBjb250LmJlZ2luKCksIGNvbnQuZW5kKCkKCmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKICAgIGxsIHR0ID0gMTsKICAgIGxsIE47CiAgICBzdHJpbmcgc3RyOwogICAgd2hpbGUoZ2V0bGluZShjaW4sc3RyKSkKICAgIHsKICAgICAgICBOID0gc3RvbGwoc3RyKTsKICAgICAgICBsbCBNOwogICAgICAgIHN0cmluZyB2YWwsYSxiOwogICAgICAgIHZlY3RvcjxzdHJpbmc+YXJyKE4pOwogICAgICAgIHVub3JkZXJlZF9tYXA8c3RyaW5nLGJvb2w+dmlzaXRlZDsKICAgICAgICBmb3IobGwgaT0wO2k8TjtpKyspCiAgICAgICAgewoKICAgICAgICAgICAgY2luPj52YWw7CiAgICAgICAgICAgIGFycltpXSA9IHZhbDsKICAgICAgICAgICAgdmlzaXRlZFt2YWxdID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIHVub3JkZXJlZF9tYXA8c3RyaW5nLGxsPmluZGVncmVlOwogICAgICAgIHVub3JkZXJlZF9tYXA8c3RyaW5nLHZlY3RvcjxzdHJpbmc+PmFkajsKICAgICAgICBjaW4+Pk07CiAgICAgICAgZm9yKGxsIGk9MDtpPE07aSsrKQogICAgICAgIHsKICAgICAgICAgICAgY2luPj5hPj5iOwogICAgICAgICAgICBhZGpbYV0ucGIoYik7CiAgICAgICAgICAgIGluZGVncmVlW2JdKys7CiAgICAgICAgfQogICAgICAgIHN0cmluZyBhbnM7CiAgICAgICAgd2hpbGUodHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIGJvb2wgZmxhZyA9IGZhbHNlOwogICAgICAgICAgICBmb3IoaW50IGk9MDtpPE47aSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihpbmRlZ3JlZVthcnJbaV1dPT0wICYmICF2aXNpdGVkW2FycltpXV0pCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgYW5zICs9IGFycltpXSsiICI7CiAgICAgICAgICAgICAgICAgICAgZm9yKGF1dG8gaXQ6YWRqW2FycltpXV0pCiAgICAgICAgICAgICAgICAgICAgICAgIGluZGVncmVlW2l0XS0tOwogICAgICAgICAgICAgICAgICAgIGZsYWcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRbYXJyW2ldXSA9IHRydWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoZmxhZz09ZmFsc2UpCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgY291dDw8IkNhc2UgIyI8PHR0PDwiOiBWaXZlayBzaG91bGQgZHJpbmsgYmV2ZXJhZ2VzIGluIHRoaXMgb3JkZXI6ICI8PGFuczw8ZW5kbDsKICAgICAgICBjb3V0PDxlbmRsOwogICAgICAgIHR0Kys7CiAgICAgICAgZ2V0bGluZShjaW4sc3RyKTsKICAgICAgICBnZXRsaW5lKGNpbixzdHIpOwogICAgfQoKICAgIHJldHVybiAwOwoKCn0K
stdin
OAphCmIKYwpkCmUKZgpzCnQKNgphIGUKYSBiCmMgZAplIGYKcyB0CmEgdAoKOApzCmEKYgplCmYKYwpkCnQKNgphIGUKYSBiCmMgZAplIGYKcyB0CmEgdAoKNQpBCkIKQwpECkUKNQpDIEEKRCBBCkIgRApFIEIKRSBD
8
a
b
c
d
e
f
s
t
6
a e
a b
c d
e f
s t
a t
8
s
a
b
e
f
c
d
t
6
a e
a b
c d
e f
s t
a t
5
A
B
C
D
E
5
C A
D A
B D
E B
E C