#include <bits/stdc++.h>
using namespace std;
pair<int, int> adj[200005][26];
string str[2][200005];
int n[2], cnt;
pair<int, int> dfs(int u)
{
pair<int, int> ans={0, 0};
for (int i=0; i<26; i++)
{
int v=adj[u][i].first, w=adj[u][i].second;
if (!v)
continue;
pair<int, int> res=dfs(v);
ans.first|=(w&1 && !res.second);
ans.second|=(w&2 && !res.first);
}
return ans;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
for (int i=0; i<2; i++)
{
cin >> n[i];
for (int j=0; j<n[i]; j++)
{
cin >> str[i][j];
int cur=0;
for (int k=0; k<str[i][j].size(); k++)
{
int x=str[i][j][k]-'a';
if (!adj[cur][x].first)
adj[cur][x].first=++cnt;
adj[cur][x].second|=1<<i;
cur=adj[cur][x].first;
}
}
}
cout << (dfs(0).first?"Nina":"Emilija");
}
# | 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... |