#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>#include <vector>using namespace std;#define ll long long#define mem(a,b) memset(a,b,sizeof(a));struct Node{char s[12];char ans[12];};const int mod = 99991;vector<Node>vv[mod];unsigned int hh(char a[]){unsigned int ans = 0;unsigned int seed = 31;while(*a){ans = ans*seed + (*a ++);}//cout<<ans%mod<<endl;return ans % mod;}void has(char b[],char a[]){unsigned int nn = hh(b);Node tmp;strcpy(tmp.s,b);strcpy(tmp.ans,a);vv[nn].push_back(tmp);}void find(char s[]){unsigned int nn = hh(s);int siz = vv[nn].size();for(int i = 0;i < siz;i ++){if(strcmp(vv[nn][i].s,s) == 0){puts(vv[nn][i].ans);return ;}}puts("eh");}int main(){ char s[100]; char a[100],b[100]; while(gets(s)){ if(strlen(s) == 0)break; int l = strlen(s); for(int i = 0;i < l;i ++){ if(s[i] == ' '){ a[i] = ' '; for(int j = i+1;j < l;j ++) b[j-i-1] = s[j]; b[l-i-1] = ' '; break; } a[i] = s[i]; } has(b,a); } while(gets(s)){ find(s); } return 0;}