#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
const int mod = 1000000007;
const int maxn = 2e5 + 7;
int n, x;
int mp[25][25], cnt[1007];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n * n; i++) {
    scanf("%d", &x);
    cnt[x]++;
  }
  if (n % 2 == 0) {
    for (int i = 1; i <= 1000; i++) {
      if (cnt[i] % 4 != 0) {
        return printf("NO\n") * 0;
      }
    }
    int pp = 1;
    for (int i = 1; i <= n / 2; i++) {
      for (int j = 1; j <= n / 2; j++) {
        while (cnt[pp] == 0) pp++;
        mp[i][j] = mp[i][n - j + 1] = mp[n - i + 1][j] =
            mp[n - i + 1][n - j + 1] = pp;
        cnt[pp] -= 4;
      }
    }
  } else {
    int num1 = 0, num2 = 0, num3 = 0;
    for (int i = 1; i <= 1000; i++) {
      if (cnt[i] % 4 == 1)
        num1++;
      else if (cnt[i] % 4 == 2)
        num2++;
      else if (cnt[i] % 4 == 3)
        num3++;
    }
    if (num2 > (n - 1) || (num1 > 0 && num3 > 0) || (num1 == 0 && num3 != 1) ||
        (num3 == 0 && num1 != 1))
      return printf("NO\n") * 0;
    for (int i = 1; i <= 1000; i++) {
      if (cnt[i] % 4 == 1 || cnt[i] % 4 == 3) {
        mp[n / 2 + 1][n / 2 + 1] = i;
        cnt[i]--;
        break;
      }
    }
    int pp = 1;
    for (int i = 1; i <= n / 2; i++) {
      for (int j = 1; j <= n / 2; j++) {
        while (cnt[pp] < 4) pp++;
        mp[i][j] = mp[i][n - j + 1] = mp[n - i + 1][j] =
            mp[n - i + 1][n - j + 1] = pp;
        cnt[pp] -= 4;
      }
    }
    pp = 1;
    for (int i = 1; i <= n / 2; i++) {
      while (cnt[pp] == 0) {
        pp++;
        if (pp > 1000) return printf("NO\n") * 0;
      }
      mp[i][n / 2 + 1] = mp[n - i + 1][n / 2 + 1] = pp;
      cnt[pp] -= 2;
    }
    for (int i = 1; i <= n / 2; i++) {
      while (cnt[pp] < 2) {
        pp++;
        if (pp > 1000) return printf("NO\n") * 0;
      }
      if (pp > 1000) return printf("NO\n") * 0;
      mp[n / 2 + 1][i] = mp[n / 2 + 1][n - i + 1] = pp;
      cnt[pp] -= 2;
    }
  }
  printf("YES\n");
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      printf("%d ", mp[i][j]);
    }
    printf("\n");
  }
  return 0;
}
