#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<int> v(1001, 0);
  for (int i = 0; i < pow(n, 2); i++) {
    int t;
    cin >> t;
    v[t]++;
  }
  vector<vector<int>> m(n, vector<int>(n, 0));
  if (n % 2 == 0) {
    int a = 0, b = 0;
    for (int i = 0; i < 1001; i++) {
      int chck = v[i] % 4;
      if (chck == 0 && v[i] != 0) {
        m[a][b] = m[a][n - 1 - b] = m[n - 1 - a][b] = m[n - 1 - a][n - 1 - b] =
            i;
        a++;
        if (a > (n / 2) - 1) {
          b++;
          a = 0;
          if (b > (n / 2) - 1) break;
        }
        v[i] -= 4;
        i--;
      } else if (chck != 0) {
        cout << "NO" << endl;
        return 0;
      }
    }
  } else {
    int a4 = 0, b4 = 0, a2 = 0, b2 = n / 2, b3 = 0, c = n / 2;
    for (int i = 0; i < 1001; i++) {
      int chck = v[i] % 4;
      if (chck == 1) {
        if (c == -1) {
          cout << "NO" << endl;
          return 0;
        }
        m[c][c] = i;
        v[i]--;
        i--;
        c = -1;
      } else if (chck == 2) {
        if (a2 == n / 2 && b3 == n / 2) {
          cout << "NO" << endl;
          return 0;
        }
        if (a2 <= (n / 2) - 1) {
          m[a2][b2] = m[n - 1 - a2][b2] = i;
          a2++;
        } else if (a2 == n / 2) {
          m[a2][b3] = m[a2][n - 1 - b3] = i;
          b3++;
        }
        v[i] -= 2;
        i--;
      } else if (chck == 3) {
        if (c == -1) {
          cout << "NO" << endl;
          return 0;
        }
        m[c][c] = i;
        v[i]--;
        i--;
        c = -1;
      } else if (chck == 0 && v[i] != 0) {
        if (b4 >= n / 2) {
          if (a2 == n / 2 && b3 == n / 2) {
            cout << "NO" << endl;
            return 0;
          }
          if (a2 <= (n / 2) - 1) {
            m[a2][b2] = m[n - 1 - a2][b2] = i;
            a2++;
          } else if (a2 == n / 2) {
            m[a2][b3] = m[a2][n - 1 - b3] = i;
            b3++;
          }
          v[i] -= 2;
          i--;
        } else {
          m[a4][b4] = m[a4][n - 1 - b4] = m[n - 1 - a4][b4] =
              m[n - 1 - a4][n - 1 - b4] = i;
          a4++;
          if (a4 >= n / 2) {
            b4++;
            a4 = 0;
          }
          v[i] -= 4;
          i--;
        }
      }
    }
  }
  cout << "YES" << endl;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      cout << m[i][j] << " ";
    }
    cout << endl;
  }
  return 0;
}
