#include <bits/stdc++.h>
using namespace std;
const int prime = 999983;
const int INF = 0x7FFFFFFF;
const long long INFF = 0x7FFFFFFFFFFFFFFF;
const double pi = acos(-1.0);
const double inf = 1e18;
const double eps = 1e-6;
const long long mod = 1e9 + 7;
int dr[2][4] = {1, -1, 0, 0, 0, 0, -1, 1};
string ss[1000];
bool cmp(const string &a, const string &b) { return a.size() < b.size(); }
int main(void) {
  int maxnlen = 0;
  string s;
  int n;
  cin >> n;
  for (int i = 0; i < n; ++i) {
    cin >> ss[i];
  }
  bool yes = 1;
  sort(ss, ss + n, cmp);
  for (int i = 1; i < n; ++i) {
    if (ss[i].find(ss[i - 1]) == string::npos) {
      yes = false;
      break;
    }
  }
  if (yes) {
    cout << "YES" << endl;
    for (int i = 0; i < n; ++i) cout << ss[i] << endl;
  } else
    cout << "NO" << endl;
  return 0;
}
