#include <bits/stdc++.h>
using namespace std;
string sol = "YES\n";
char field[51][51];
int timesAttacked[51][51];
bool doNotAttack[200][200];
int N;
int main() {
  scanf("%d", &N);
  for (int i = N - 1; i >= 0; i--) {
    for (int j = 0; j < N; j++) {
      scanf(" %c", field[i] + j);
    }
  }
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      if (field[i][j] != 'o') continue;
      for (int k = 0; k < N; k++) {
        for (int l = 0; l < N; l++) {
          if (field[k][l] == 'o')
            continue;
          else if (field[k][l] == '.') {
            doNotAttack[k - i + 50][l - j + 50] = true;
          }
        }
      }
    }
  }
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      if (field[i][j] != 'o') continue;
      for (int k = 0; k < N; k++) {
        for (int l = 0; l < N; l++) {
          if (field[k][l] == 'o')
            continue;
          else if (field[k][l] == 'x' && !doNotAttack[k - i + 50][l - j + 50]) {
            timesAttacked[k][l]++;
          }
        }
      }
    }
  }
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      if (field[i][j] == 'x' && timesAttacked[i][j] == 0) {
        printf("NO\n");
        return 0;
      }
    }
  }
  for (int i = N + 49; i >= -N + 51; i--) {
    for (int j = -N + 51; j <= N + 49; j++) {
      if (i == 50 && j == 50) {
        sol += 'o';
        continue;
      }
      if (doNotAttack[i][j]) {
        sol += '.';
      } else {
        sol += 'x';
      }
    }
    sol += '\n';
  }
  cout << sol;
  return 0;
}
