#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100005;
const long long MOD = 1e9 + 7;
const long long LINF = 0x3f3f3f3f3f3f3f3f;
const int INF = 1e9 + 7;
const double PI = acos(-1.0);
const double EPS = 1e-8;
int _;
using namespace std;
int arr[MAXN];
int cnt[1005];
int mat[105][105];
int N;
void fill_4(int idx, int num) {
  int xx = idx / (N / 2);
  int yy = idx % (N / 2);
  if (yy) xx++;
  if (yy == 0) yy = N / 2;
  mat[xx][yy] = num;
  mat[N - xx + 1][yy] = num;
  mat[xx][N - yy + 1] = num;
  mat[N - xx + 1][N - yy + 1] = num;
}
void fill_2(int idx, int num) {
  if (idx <= (N / 2)) {
    mat[idx][N / 2 + 1] = mat[N - idx + 1][N / 2 + 1] = num;
  } else {
    idx -= N / 2;
    mat[N / 2 + 1][idx] = mat[N / 2 + 1][N - idx + 1] = num;
  }
}
void fill_1(int idx, int num) { mat[N / 2 + 1][N / 2 + 1] = num; }
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  while (cin >> N) {
    memset(cnt, 0, sizeof(cnt));
    for (int i = 1; i <= N * N; ++i) {
      cin >> arr[i];
      cnt[arr[i]]++;
    }
    int nd4 = (N / 2) * (N / 2);
    int nd2 = N % 2 ? N / 2 * 2 : 0;
    int nd1 = (N % 2 == 1);
    for (int i = 1000; i >= 1; --i) {
      if (cnt[i] >= 4) {
        int togo = min(cnt[i] / 4, nd4);
        for (int t = 1; t <= togo; ++t) fill_4(nd4 - t + 1, i);
        cnt[i] -= togo * 4;
        nd4 -= togo;
      }
      if (!nd4) break;
    }
    for (int i = 1000; i >= 1; --i) {
      if (cnt[i] >= 2) {
        int togo = min(cnt[i] / 2, nd2);
        for (int t = 1; t <= togo; ++t) fill_2(nd2 - t + 1, i);
        cnt[i] -= togo * 2;
        nd2 -= togo;
      }
      if (!nd2) break;
    }
    for (int i = 1000; i >= 1; --i) {
      if (cnt[i]) {
        int togo = min(cnt[i], nd1);
        for (int t = 1; t <= togo; ++t) fill_1(nd1 - t + 1, i);
        cnt[i] -= togo;
        nd1 -= togo;
      }
      if (!nd1) break;
    }
    if (!nd4 && !nd2 && !nd1) {
      cout << "YES" << endl;
      for (int i = 1; i <= N; ++i) {
        for (int j = 1; j <= N; ++j) cout << mat[i][j] << " ";
        cout << endl;
      }
    } else
      cout << "NO" << endl;
  }
  return 0;
}
