#include <bits/stdc++.h>
using namespace std;
template <typename C>
void MA(C& a, C b) {
  if (a < b) a = b;
}
template <typename C>
void MI(C& a, C b) {
  if (a > b) a = b;
}
int n;
char z[300][300], wyn[300];
int d[300][300];
void nie() {
  puts("Impossible");
  exit(0);
}
const int m = 'z' - 'a' + 1;
void cmp(char* a, char* b) {
  int i = 0;
  while (a[i] == b[i]) i++;
  if (b[i] == 0) nie();
  if (a[i] != 0) {
    d[a[i] - 'a'][b[i] - 'a'] = 1;
  }
}
bool cz[300];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%s", z[i]);
  for (int i = 0; i < n - 1; i++) cmp(z[i], z[i + 1]);
  for (int _ = 0; _ < m; _++) {
    for (int i = 0; i < m; i++) {
      if (cz[i] == 0) {
        for (int j = 0; j < m; j++) {
          if (cz[j] == 0 && d[j][i]) goto niet;
        }
        cz[i] = 1;
        wyn[_] = i + 'a';
        goto end;
      }
    niet:;
    }
    nie();
  end:;
  }
  printf("%s\n", wyn);
}
