#include <bits/stdc++.h>
using namespace std;
long long a[4][4], h[4], w[4], v[16];
int n;
char u[16];
bool rec(int i, int j) {
  int k, p = -1;
  if (i == n) {
    long long s;
    for (s = 0, k = 0; k < n; s += a[k][k], k++)
      ;
    if (s != h[0]) return 0;
    for (s = 0, k = 0; k < n; s += a[n - 1 - k][k], k++)
      ;
    if (s != h[0]) return 0;
    return 1;
  }
  if (i == n - 1 && j > 0) {
    if (w[j - 1] != h[0]) return 0;
  }
  if (j == n) {
    if (i > 0 && h[i] != h[0])
      return 0;
    else
      return rec(i + 1, 0);
  }
  for (k = 0; k < n * n; k++)
    if (!u[k] && (p == -1 || v[p] != v[k])) {
      u[k] = 1;
      a[i][j] = v[k];
      h[i] += v[k];
      w[j] += v[k];
      if (rec(i, j + 1)) return 1;
      h[i] -= v[k];
      w[j] -= v[k];
      u[k] = 0;
      p = k;
    }
  return 0;
}
int main() {
  int i, j;
  for (scanf("%d", &n), i = 0; i < n * n; scanf("%I64d", &v[i]), i++)
    ;
  sort(v, v + n * n);
  rec(0, 0);
  for (printf("%I64d\n", h[0]), i = 0; i < n; printf("\n"), i++)
    for (j = 0; j < n; printf("%I64d ", a[i][j]), j++)
      ;
  return 0;
}
