#include <bits/stdc++.h>
using namespace std;
string a[100];
int id[30];
vector<int> cn[30];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 1; i < n; i++) {
    char l1 = '-';
    char l2 = '-';
    int j = -1;
    int s = a[i - 1].size();
    if (a[i - 1].size() > a[i].size()) {
      s = a[i].size();
      if (a[i] == string(a[i - 1].substr(0, s))) id[0]++;
    }
    while (++j < s) {
      if (a[i - 1][j] == a[i][j]) continue;
      l1 = a[i - 1][j];
      l2 = a[i][j];
      break;
    }
    if (l1 != '-') {
      cn[l1 - 'a'].push_back(l2 - 'a');
      id[l2 - 'a']++;
    }
  }
  queue<int> ts;
  for (int i = 0; i < 26; i++)
    if (!id[i]) ts.push(i);
  string anw = "";
  while (!ts.empty()) {
    int u = ts.front();
    ts.pop();
    anw += char(u + 'a');
    for (auto v : cn[u]) {
      id[v]--;
      if (!id[v]) ts.push(v);
    }
  }
  cout << (anw.size() == 26 ? anw : "Impossible") << endl;
}
