/* -*- coding: utf-8 -*- * * 938.cc: No.938 賢人を探せ - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 20000; const int MAX_M = MAX_N * 2; /* typedef */ typedef map msi; /* global variables */ msi idmap; string ss[MAX_M]; int as[MAX_N], bs[MAX_N]; bool es[MAX_M]; /* subroutines */ inline int allocid(char s[], int &n) { string t(s); msi::iterator mit = idmap.find(t); if (mit != idmap.end()) return mit->second; ss[n] = t; return (idmap[t] = n++); } /* main */ int main() { int n; scanf("%d", &n); int m = 0; for (int i = 0; i < n; i++) { char s0[16], s1[16]; scanf("%s%s", s0, s1); int id0 = allocid(s0, m); int id1 = allocid(s1, m); as[i] = id0, bs[i] = id1; es[id0] = true; } for (int i = 0; i < n; i++) if (! es[bs[i]]) { puts(ss[bs[i]].c_str()); es[bs[i]] = true; } return 0; }