#include <bits/stdc++.h>
using namespace std;
int n;
string s[110];
int l[110];
vector<int> v[300];
int indeg[300];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    cin >> s[i];
    s[i] += "#";
  }
  for (int i = 0; i <= 99; i++) {
    for (int j = 1; j < n; j++) {
      string a = s[j - 1].substr(0, i);
      string b = s[j].substr(0, i);
      if (a == b && i < s[j - 1].size() && i < s[j].size() &&
          s[j - 1][i] != s[j][i]) {
        v[s[j - 1][i]].push_back(s[j][i]);
        indeg[s[j][i]]++;
      }
    }
  }
  deque<int> q;
  vector<int> res;
  int ok = 1;
  q.push_back('#');
  for (int i = 'a'; i <= 'z'; i++) {
    if (indeg[i] == 0) q.push_back(i);
  }
  while (q.size() > 0) {
    int l = q.front();
    q.pop_front();
    res.push_back(l);
    for (int i = 0; i < (((int)(v[l]).size())); ++i) {
      indeg[v[l][i]]--;
      if (indeg[v[l][i]] == 0) q.push_back(v[l][i]);
    }
  }
  if (((int)(res).size()) == 27) {
    for (int i = 1; i <= (((int)(res).size()) - 1); ++i) printf("%c", res[i]);
    printf("\n");
  } else
    printf("Impossible\n");
  return 0;
}
