#include <bits/stdc++.h>
using namespace std;
typedef struct node {
  bool shes;
  struct node *sons[27];
} trieNode;
trieNode *root;
trieNode *createNode() {
  trieNode *node = new trieNode;
  node->shes = false;
  for (int i = 0; i < 27; i++) node->sons[i] = NULL;
  return node;
}
void Insert(trieNode **root, string ch) {
  trieNode *node = *root;
  for (int i = 0; i < ch.size(); i++) {
    int idx = ch[i] - 'a';
    if (node->sons[idx] == NULL) node->sons[idx] = createNode();
    node = node->sons[idx];
  }
  node->shes = true;
}
bool Search(trieNode **root, string ch) {
  trieNode *node = *root;
  for (int i = 0; i < ch.size(); i++) {
    int idx = ch[i] - 'a';
    if (node->sons[idx] == NULL) return false;
    node = node->sons[idx];
  }
  return node->shes;
}
int main() {
  root = createNode();
  char name[12];
  vector<string> v;
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> name;
    v.push_back(name);
  }
  vector<string> ret;
  for (int i = v.size() - 1; i >= 0; i--) {
    if (Search(&root, v[i]) == false) {
      Insert(&root, v[i]);
      ret.push_back(v[i]);
    }
  }
  for (int i = 0; i < ret.size(); i++) {
    cout << ret[i] << endl;
  }
  return 0;
}
