#include <bits/stdc++.h>
template <class _T>
bool maximize(_T &a, _T b) {
  return a < b ? a = b, 1 : 0;
}
template <class _T>
bool minimize(_T &a, _T b) {
  return a > b ? a = b, 1 : 0;
}
using namespace std;
int n, k;
string st[5005];
map<string, bool> exist;
void enter() {
  cin >> k >> n;
  for (int i = 1; i <= k; ++i) {
    cin >> st[i];
    exist[st[i]] = true;
  }
}
void print(string st, int i, int j) {
  swap(st[i], st[j]);
  cout << st << endl;
}
bool distinc[5005];
bool check_dis(string st) {
  if (st.length() > 26) return false;
  bool dd[26];
  memset(dd, false, sizeof(dd));
  for (auto tmp : st)
    if (dd[(int)tmp - (int)'a'])
      return false;
    else
      dd[(int)tmp - (int)'a'] = true;
  return true;
}
vector<int> diff_pos;
bool prepare() {
  for (int i = 1; i <= k; ++i) distinc[i] = check_dis(st[i]);
  for (int i = 1; i <= k; ++i)
    if (st[i] != st[1]) {
      for (int pos = 0; pos <= n - 1; ++pos)
        if (st[i][pos] != st[1][pos]) diff_pos.push_back(pos);
      if (diff_pos.size() > 4) return false;
      return true;
    }
}
bool check_str(string sta) {
  for (int i = 1; i <= k; ++i) {
    int cnt = 0;
    vector<int> pd;
    for (int pos = 0; pos <= n - 1; ++pos)
      if (sta[pos] != st[i][pos]) {
        pd.push_back(pos);
        if (pd.size() > 2) return false;
      }
    if (pd.size() != 0 && pd.size() != 2) return false;
    if (pd.size() == 0 && distinc[i]) return false;
    if (pd.size() == 2) {
      if (sta[pd[0]] != st[i][pd[1]]) return false;
      if (sta[pd[1]] != st[i][pd[0]]) return false;
    }
  }
  return true;
}
void process() {
  if (exist.size() == 1) {
    print(st[1], 0, 1);
    return;
  }
  if (!prepare()) {
    cout << -1 << endl;
    return;
  }
  string sta = st[1];
  for (auto id : diff_pos)
    for (int i = 0; i <= n - 1; ++i)
      if (i != id) {
        swap(sta[id], sta[i]);
        if (check_str(sta)) {
          cout << sta << endl;
          return;
        }
        swap(sta[id], sta[i]);
      }
  cout << -1 << endl;
}
int main() {
  enter();
  process();
  return 0;
}
