#include <bits/stdc++.h>
using namespace std;
int n;
string s[500];
bool f[500][500];
bool g[26][26];
int main() {
  while (cin >> n, n) {
    memset(f, 0, sizeof(f));
    memset(g, 0, sizeof(g));
    for (int i = 0; i < n; i++) {
      cin >> s[i];
    }
    for (int i = 0; i < 10; i++) {
      for (int j = 0; j < n; j++) {
        for (int k = j + 1; k < n; k++) {
          if (f[j][k]) continue;
          if (s[j][i] != '\0' && s[k][i] == '\0') {
            cout << "no\n";
            return 0;
          }
          if (i >= min(s[j].size(), s[k].size())) continue;
          if (s[j][i] != s[k][i]) {
            cout << s[j][i] << s[k][i] << endl;
            g[s[j][i] - 'a'][s[k][i] - 'a'] = true;
            f[j][k] = true;
          }
        }
      }
    }
    for (int k = 0; k < 26; k++) {
      for (int i = 0; i < 26; i++) {
        for (int j = 0; j < 26; j++) {
          g[i][j] |= g[i][k] && g[k][j];
        }
      }
    }
    bool res = true;
    for (int i = 0; i < 26; i++) {
      if (g[i][i]) res = false;
    }
    cout << (res ? "yes" : "no") << endl;
  }
}
