#include <bits/stdc++.h>
using namespace std;
vector<int> vec[40];
int n, deg[40], ans[200];
char str[200][200], cnt;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    cin >> str[i];
    int k = 0;
    if (i == 0) continue;
    while (str[i][k] == str[i - 1][k]) k++;
    if (k == strlen(str[i - 1])) continue;
    if (k == strlen(str[i])) {
      puts("Impossible");
      return 0;
    }
    vec[str[i - 1][k] - 'a'].push_back(str[i][k] - 'a');
    deg[str[i][k] - 'a']++;
  }
  for (int i = 0; i < 26; i++)
    if (!deg[i]) ans[cnt++] = i;
  int k = 0;
  while (k < cnt) {
    int u = ans[k];
    for (int i = 0; i < vec[u].size(); i++) {
      int v = vec[u][i];
      deg[v]--;
      if (!deg[v]) ans[cnt++] = v;
    }
    k++;
  }
  if (cnt == 26) {
    for (int i = 0; i < 26; i++) cout << char(ans[i] + 'a');
    cout << endl;
  } else
    puts("Impossible");
  return 0;
}
