#include <bits/stdc++.h>
using namespace std;
int n, t[18], b, sum;
vector<int> v, q;
bool van(int x) {
  for (int i = 1; i <= 16; i++)
    if (x == v[i]) return true;
  return false;
}
bool ch() {
  t[4] = sum - t[1] - t[2] - t[3];
  if (!van(t[4])) {
    b++;
    return 0;
  }
  t[8] = sum - t[5] - t[6] - t[7];
  if (!van(t[8])) return 0;
  t[16] = sum - t[1] - t[6] - t[11];
  if (!van(t[16])) return 0;
  t[15] = sum - t[3] - t[7] - t[11];
  t[12] = sum - t[4] - t[8] - t[16];
  t[10] = sum - t[6] - t[7] - t[11];
  t[9] = sum - t[10] - t[11] - t[12];
  t[13] = sum - t[1] - t[5] - t[9];
  t[14] = sum - t[2] - t[6] - t[10];
  q.clear();
  for (int i = 1; i <= 16; i++) q.push_back(t[i]);
  sort(q.begin(), q.end());
  for (int i = 1; i <= 16; i++) {
    if (q[i - 1] != v[i]) return 0;
  }
  for (int i = 1; i <= 16; i++) {
    cout << t[i] << " ";
    if (i % 4 == 0) cout << "\n";
  }
  return true;
}
int main() {
  cin >> n;
  for (int i = 1; i <= n * n; i++) {
    int x;
    cin >> x;
    sum += x;
    v.push_back(x);
  }
  v.push_back(-100000001);
  sort(v.begin(), v.end());
  sum /= n;
  cout << sum << "\n";
  if (n == 1) cout << v[1] << "\n";
  if (n == 2)
    cout << v[1] << " " << v[1] << "\n" << v[1] << " " << v[1] << "\n";
  if (n == 3) {
    if (v[1] + v[6] + v[8] != v[4] + v[9] + v[2])
      swap(v[3], v[4]), swap(v[6], v[7]);
    cout << v[8] << " " << v[1] << " " << v[6] << "\n"
         << v[3] << " " << v[5] << " " << v[7] << "\n"
         << v[4] << " " << v[9] << " " << v[2] << "\n";
  }
  if (n == 4) {
    for (int a = 2; a <= 16; a++) {
      b = 2;
      while (b <= 16) {
        for (int c = 2; c <= 16; c++) {
          for (int d = 2; d <= 16; d++) {
            for (int e = 2; e <= 16; e++) {
              for (int f = 2; f <= 16; f++) {
                if (b > 16) {
                  c = 17;
                  break;
                }
                t[1] = v[1], t[2] = v[a], t[3] = v[b], t[5] = v[c], t[6] = v[d],
                t[7] = v[e], t[11] = v[f];
                if (ch()) return 0;
                swap(t[1], t[2]);
                if (ch()) return 0;
              }
            }
          }
        }
        b++;
      }
    }
  }
  return 0;
}
