#include <bits/stdc++.h>
using namespace std;
const long long N = 1e5 + 3, K = 11, M = N * 4;
const long long MOD = 998244353, oo = 1e9, OO = 1e18, mod = MOD;
const double pi = acos(-1), eps = 1e-17;
long long di[] = {0, 0, 1, -1};
long long dj[] = {1, -1, 0, 0};
long long pos[N];
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  ;
  long long ret = 1;
  long long n;
  cin >> n;
  long long arr2[n * n];
  for (long long i = 0; i < n * n; i++) cin >> arr2[i];
  vector<long long> v;
  for (long long i = 0; i < n * n; i++) v.push_back(i);
  do {
    long long arr[n * n];
    for (long long i = 0; i < n * n; i++) arr[i] = arr2[v[i]];
    map<long long, long long> mp;
    long long sum = 0;
    for (long long i = 0; i < n; i++) {
      sum += arr[i * n + i];
    }
    mp[sum]++;
    if (mp.size() > 1) continue;
    sum = 0;
    for (long long i = 0; i < n; i++) {
      sum = 0;
      for (long long j = 0; j < n; j++) sum += arr[i * n + j];
      mp[sum]++;
      if (mp.size() > 1) continue;
    }
    for (long long j = 0; j < n; j++) {
      sum = 0;
      for (long long i = 0; i < n; i++) sum += arr[i * n + j];
      mp[sum]++;
      if (mp.size() > 1) continue;
    }
    long long r = 0, c = n - 1;
    sum = 0;
    while (c >= 0) {
      sum += arr[r * n + c];
      r++, c--;
    }
    mp[sum]++;
    if (mp.size() > 1) continue;
    if (mp.size() == 1) {
      cout << sum << '\n';
      for (long long i = 0; i < n * n; i++) {
        if (i && i % 3 == 0) cout << '\n';
        cout << arr[i] << " ";
      }
      return 0;
    }
  } while (next_permutation(v.begin(), v.end()));
}
