#include<bits/stdc++.h>
using namespace std;
map<string,int> f;
int m,n,p,i,len[1010],xiong,w,huang[1010],j,flag;
string jj[1010],fk[1010],tday,name,name2,say,st,today[8]={"","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
void pd(int guilty,int day){
int i,j,w;
for(i=1;i<=m;i++)huang[i]=-1;
for(i=1;i<=p;i++){
name="";say="";
for(j=0;fk[i][j]!=':';j++)name=name+fk[i][j];
w=j;
for(j=w+2;j<len[i];j++)say=say+fk[i][j];
if(say=="I am guilty."){
if(f[name]==guilty){
if(huang[f[name]]==-1||huang[f[name]]==1)huang[f[name]]=1;
else{
flag=0;
return ;
}
}
else{
if(huang[f[name]]==-1||huang[f[name]]==0)huang[f[name]]=0;
else{
flag=0;
return ;
}
}
continue;
}
if(say=="I am not guilty."){
if(f[name]!=guilty){
if(huang[f[name]]==-1||huang[f[name]]==1)huang[f[name]]=1;
else{
flag=0;
return ;
}
}
else{
if(huang[f[name]]==-1||huang[f[name]]==0)huang[f[name]]=0;
else{
flag=0;
return ;
}
}
continue;
}
say="";name2="";
for(j=w+2;fk[i][j]!=' ';j++)name2=name2+fk[i][j];
for(j=j+1;j<len[i];j++)say=say+fk[i][j];
if(f[name2]!=0){
if(say=="is guilty."){
if(f[name2]==guilty){
if(huang[f[name]]==-1||huang[f[name]]==1)huang[f[name]]=1;
else{
flag=0;
return ;
}
}
else{
if(huang[f[name]]==-1||huang[f[name]]==0)huang[f[name]]=0;
else{
flag=0;
return ;
}
}
continue;
}
if(say=="is not guilty."){
if(f[name2]!=guilty){
if(huang[f[name]]==-1||huang[f[name]]==1)huang[f[name]]=1;
else{
flag=0;
return ;
}
}
else{
if(huang[f[name]]==-1||huang[f[name]]==0)huang[f[name]]=0;
else{
flag=0;
return ;
}
}
continue;
}
}
say="";tday="";
for(j=w+2;j<=w+9;j++)say=say+fk[i][j];
for(j=w+11;j<len[i]-1;j++)tday=tday+fk[i][j];
if(say=="Today is"){
if(tday==today[day]){
if(huang[f[name]]==-1||huang[f[name]]==1)huang[f[name]]=1;
else{
flag=0;
return ;
}
}
else{
if(huang[f[name]]==-1||huang[f[name]]==0)huang[f[name]]=0;
else{
flag=0;
return ;
}
}
continue;
}
}
int s;
s=0;
for(i=1;i<=m;i++)
if(huang[i]==1)s++;
if(m-s<n)flag=0;
}
int main(){
cin>>m>>n>>p;
for(i=1;i<=m;i++){
cin>>st;jj[i]=st;
f[st]=i;
}
getchar();
for(i=1;i<=p;i++)
getline(cin,fk[i]),len[i]=fk[i].size();
for(i=1;i<=m;i++){
for(j=1;j<=7;j++){
flag=1;
pd(i,j);
if(flag){
if(xiong==i||xiong==0)xiong=i;
else{
cout<<"Cannot Determine";
return 0;
}
}
}
}
if(xiong!=0)cout<<jj[xiong];
else cout<<"Impossible";
}