#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<pair<int, int> > good, piece, bad;
vector<string> a;
string s;
char b[110][110];
int main() {
  cin >> n;
  int cent = n - 1;
  for (int i = 0; i < 2 * n - 1; ++i) {
    for (int j = 0; j < 2 * n - 1; ++j) b[i][j] = 'x';
  }
  for (int i = 0; i < n; ++i) {
    cin >> s;
    for (int j = 0; j < n; ++j) {
      if (s[j] == 'o')
        piece.push_back(make_pair(i, j));
      else if (s[j] == 'x')
        bad.push_back(make_pair(i, j));
      else
        good.push_back(make_pair(i, j));
    }
    a.push_back(s);
  }
  b[cent][cent] = 'o';
  for (pair<int, int> p : piece) {
    for (pair<int, int> g : good) {
      b[cent + g.first - p.first][cent + g.second - p.second] = '.';
    }
  }
  for (pair<int, int> ba : bad) {
    bool cantdo = true;
    for (pair<int, int> p : piece) {
      if (b[cent + ba.first - p.first][cent + ba.second - p.second] == 'x') {
        cantdo = false;
      }
    }
    if (cantdo) {
      cout << "NO" << endl;
      return 0;
    }
  }
  cout << "YES" << endl;
  for (int i = 0; i < 2 * n - 1; ++i) {
    for (int j = 0; j < 2 * n - 1; ++j) cout << b[i][j];
    cout << endl;
  }
  return 0;
}
