#include < iostream > #include < string > #include < vector > #include < algorithm > using namespace std; struct ZD ... { string yc,ys;} ;vector < ZD > v; bool cmp(ZD s, ZD t) ... { return s.ys<t.ys;} string binSearch( string s) ... { int low=0,high=v.size()-1,mid; while(low<=high) ...{ mid=(low+high)/2; if(v[mid].ys==s) return v[mid].yc; if(v[mid].ys >s) high=mid-1; else low=mid+1; } return "eh";} void init() ... { ZD t; string s; while(true) ...{ getline(cin,s); if (s=="") break; int i=s.find(" "); t.yc=s.substr(0,i); t.ys=s.substr(i+1); v.push_back(t); } sort(v.begin(),v.end(),cmp);} bool run() ... { string ts; if (!(cin>>ts)) return false; cout << binSearch(ts)<<endl; return true;} int main() ... { init(); while(run()); return 0;}