#include <bits/stdc++.h>
using namespace std;
int a[200000];
int b[1005], bb[1005];
int gg[100][100];
int main() {
  int n, ss = 0;
  cin >> n;
  for (int i = 0; i < n * n; ++i) {
    cin >> a[i];
    ++b[a[i]];
    ++bb[a[i]];
    ss += a[i];
  }
  if (n == 1) {
    cout << "YES\n" << a[0];
    return 0;
  }
  vector<int> v;
  for (int i = 1; i <= 1000; ++i)
    if (b[i] % 4 == 0)
      for (int j = 0; j < b[i] / 4; ++j) v.push_back(i);
  if (n % 2 == 0 && v.size() == n * n / 4) {
    int c = 0;
    int l = n / 2;
    for (int i = 0; i < l; ++i)
      for (int j = 0; j < l; ++j) gg[i][j] = v[c++];
    for (int i = 0; i < l; ++i)
      for (int j = 0; j < l; ++j) {
        gg[n - i - 1][n - j - 1] = gg[i][j];
        gg[n - i - 1][j] = gg[i][j];
        gg[i][n - j - 1] = gg[i][j];
      }
    cout << "YES\n";
    for (int i = 0; i < n; ++i) {
      for (int j = 0; j < n; ++j) cout << gg[i][j] << " ";
      cout << "\n";
    }
  } else if (n % 2 == 1) {
    vector<int> u;
    int ch = -1;
    for (int i = 1, gg = 0; i <= 1000; ++i) {
      if (b[i] % 2 == 1) ch = i;
      int nn = b[i] / 4;
      for (int j = 0; j < nn && gg < (n / 2) * (n / 2); ++j)
        u.push_back(i), b[i] -= 4, ++gg;
    }
    if (u.size() == (n / 2) * (n / 2) && ch != -1) {
      int l = n / 2, c = 0;
      for (int i = 0; i < l; ++i)
        for (int j = 0; j < l; ++j) gg[i][j] = u[c++];
      for (int i = 0; i < l; ++i)
        for (int j = 0; j < l; ++j) {
          gg[n - i - 1][n - j - 1] = gg[i][j];
          gg[n - i - 1][j] = gg[i][j];
          gg[i][n - j - 1] = gg[i][j];
        }
      vector<int> h;
      for (int i = 1; i <= 1000; ++i) {
        int nn = b[i] / 2;
        for (int j = 0; j < nn; ++j) h.push_back(i), b[i] -= 2;
      }
      if (h.size() != (n + n - 2) / 2) {
        cout << "NO";
        return 0;
      }
      int cc = 0;
      for (int i = 0; i < n / 2; ++i, ++cc) {
        gg[i][n / 2] = h[cc];
        gg[n - i - 1][n / 2] = h[cc];
      }
      for (int i = 0; i < n / 2; ++i, ++cc) {
        gg[n / 2][i] = h[cc];
        gg[n / 2][n - i - 1] = h[cc];
      }
      gg[n / 2][n / 2] = ch;
      cout << "YES\n";
      for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) cout << gg[i][j] << " ";
        cout << "\n";
      }
    } else
      cout << "NO";
  } else
    cout << "NO";
  return 0;
}
