#include <bits/stdc++.h>
int main() {
  std::ios::sync_with_stdio(false);
  int n;
  std::cin >> n;
  std::unordered_map<std::string, int> m;
  struct tup {
    std::string x;
    int time;
  };
  std::vector<tup> v;
  tup t;
  for (int i = 0; i < n; i++) {
    std::cin >> t.x;
    t.time = i;
    auto it = m.find(t.x);
    if (it == m.end()) {
      m[t.x] = v.size();
      v.push_back(t);
    } else {
      v[it->second].time = i;
    }
  }
  std::sort(v.begin(), v.end(), [](tup a, tup b) { return a.time > b.time; });
  for (auto x : v) std::cout << x.x << std::endl;
  return 0;
}
