#include <bits/stdc++.h>
using namespace std;
signed main(){
int n,m;
cin>>n;
vector<string> nina (n,"");
for(auto &e:nina){
cin>>e;
}
cin>>m;
vector<string> emilija (m,"");
for(auto &e:emilija){
cin>>e;
}
sort(nina.begin(),nina.end());
sort(emilija.begin(),emilija.end());
int np=0, mp = 0, chars=1;
while(np<n){
auto x = lower_bound(emilija.begin(),emilija.end(), nina[np].substr(0,chars));
mp = x - emilija.begin();
bool found=false;
bool valid=true;
while(mp<m&&emilija[mp].length()<chars+1){
mp++;
}
while(mp<m&&emilija[mp].substr(0,chars)==nina[np].substr(0,chars)){
found=true;
auto s = lower_bound(nina.begin(),nina.end(),emilija[mp]);
if(s == nina.end() || (*s).length()<chars+1){
++np;
break;
}
if((*s).substr(0,chars+1)==emilija[mp].substr(0,chars+1)){
++mp;
if(mp==m){
break;
}
}else{
valid=false;
break;
}
}
if(!found){
cout<<"Nina\n";
return 0;
}
if(!valid||nina[np].length()<chars+2){
++np;
continue;
}
chars+=2;
}
if(np==n){
cout<<"Emilija\n";
}else{
cout<<"Nina\n";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |