#include<iostream.h>
#include<string.h>
char m[20090][20];
int f[20090];
int num[20090];
int N,M,P;
void makeset()
{
int i;
for(i=1;i<=N;i++)
{
f[i]=i;
num[i]=1;
}
}
int findset(int x)
{
if(x!=f[x])
{
x=findset(f[x]);
}
return x;
}
void unionset(int p1,int p2)
{
int x=findset(p1);
int y=findset(p2);
if(x==y)
return;
else if(num[x]>=num[y])
{
f[y]=x;
num[x]+=num[y];
}
else
{
f[x]=y;
num[y]+=num[x];
}
}
int main()
{
// freopen("in.txt","r",stdin);
int i;
char a[12],b[12],c[12],d[12];
scanf("%d%d%d",&N,&M,&P);
makeset();
for(i=1;i<=N;i++)
{
scanf("%s",m[i]);
}
for(i=1;i<=M;i++)
{
scanf("%s%s",a,b);
int k1=-1,k2=-1;
for(int j=1;j<=N;j++)
{
if(strcmp(a,m[j])==0)
k1=j;
if(strcmp(b,m[j])==0)
k2=j;
if(k1!=-1&&k2!=-1)
break;
}
unionset(k1,k2);
}
f;
for(i=1;i<=P;i++)
{
int k3=-1,k4=-1;
scanf("%s%s",c,d);
for(int j=1;j<=N;j++)
{
if(strcmp(c,m[j])==0)
k3=j;
if(strcmp(d,m[j])==0)
k4=j;
if(k3!=-1&&k4!=-1)
break;
}
f;
if(findset(k3)==findset(k4))
printf("safe\n");
else
printf("cc cry\n");
}
return 0;
}