#include <bits/stdc++.h>
using namespace std;
#define N 10020
int n,m;
vector<int> g[N];
map<string,int> mapp;
int dfn[N];
int low[N];
int entry[N];
int belong[N];
int time2=1;
int cnt;
queue<int> que;
void dfs(int num)
{
dfn[num]=time2;
low[num]=time2;
time2++;
for(int to:g[num])
{
if(!dfn[to])
{
que.push(to);
entry[to]=1;
dfs(to);
low[num]=min(low[num],low[to]);
}
else if(entry[to])
{
low[num]=min(low[num],low[to]);
}
}
if(dfn[num]==low[num])
{
cnt++;
while(que.front()!=num)
{
belong[que.front()]=cnt;
entry[num]=0;
que.pop();
}
belong[que.front()]=cnt;
entry[num]=0;
que.pop();
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
string gir,boy;
cin>>gir>>boy;
mapp[gir]=i;
mapp[boy]=i+n;
g[i].push_back(i+n);
}
cin>>m;
for(int i=1;i<=m;i++)
{
string gir,boy;
cin>>gir>>boy;
int a=mapp[gir];
int b=mapp[boy];
g[b].push_back(a);
}
for(int i=1;i<=2*n;i++)
{
if(!dfn[i])
{
que.push(i);
entry[i]=1;
dfs(i);
}
}
for(int i=1;i<=n;i++)
{
if(belong[i]==belong[i+n])
{
cout<<"Unsafe"<<endl;
}
else cout<<"Safe"<<endl;
}
}