#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<string> plata;
  for (int i = 0; i < n; i++) {
    string tr;
    cin >> tr;
    plata.push_back(tr);
  }
  vector<pair<int, int> > figura;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (plata[i][j] == 'o') figura.push_back(make_pair(i, j));
    }
  }
  vector<pair<int, int> > v;
  for (int i = 1 - n; i < n; i++) {
    for (int j = 1 - n; j < n; j++) {
      if (i == j && j == 0) continue;
      bool ok = 1;
      for (int k = 0; k < figura.size(); k++) {
        if (figura[k].first + i > -1 && figura[k].first + i < n &&
            figura[k].second + j > -1 && figura[k].second + j < n &&
            plata[figura[k].first + i][figura[k].second + j] == '.') {
          ok = 0;
          break;
        }
      }
      if (ok) v.push_back(make_pair(i, j));
    }
  }
  for (int i = 0; i < v.size(); i++) {
    for (int j = 0; j < figura.size(); j++) {
      if (figura[j].first + v[i].first > -1 &&
          figura[j].first + v[i].first < n &&
          figura[j].second + v[i].second > -1 &&
          figura[j].second + v[i].second < n) {
        plata[figura[j].first + v[i].first][figura[j].second + v[i].second] =
            'a';
      }
    }
  }
  bool vredu = 1;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (plata[i][j] == 'x') vredu = 0;
    }
  }
  if (!vredu) {
    cout << "NO\n";
    return 0;
  } else {
    cout << "YES\n";
  }
  vector<string> rez;
  string tmp;
  for (int i = 0; i < 2 * n - 1; i++) {
    tmp += '.';
  }
  for (int i = 0; i < 2 * n - 1; i++) rez.push_back(tmp);
  rez[n - 1][n - 1] = 'o';
  for (int i = 0; i < v.size(); i++) {
    rez[n - 1 + v[i].first][n - 1 + v[i].second] = 'x';
  }
  for (int i = 0; i < rez.size(); i++) cout << rez[i] << "\n";
  return 0;
}
