#include <iostream>
#include <unordered_set>
#include <deque>
using namespace std;
int main() {
int n;
cin >> n;
unordered_set<string> s;
deque<string> dq;
while (n--) {
string f;
cin >> f;
if ([Link](f) == [Link]()) {
dq.push_front(f);
[Link](f);
} else {
auto it = find([Link](), [Link](), f);
[Link](it);
dq.push_front(f);
}
}
for (const string &f : dq) {
cout << f << endl;
}
return 0;
}