#include <iostream>
#include <algorithm>

using namespace std;

int ans[105][105];
int v[105 * 105];

int vis[105][105];

int main()
{
    int n = 0;
    cin >> n;

    for (int i = 1; i <= n * n; i++) {
        cin >> v[i];
        v[i] = -v[i];
    }
    sort(v + 1, v + n * n + 1);

    int i;
    for (i = 1; i <= n; i++) {
        v[i] = -v[i];
        ans[i][i] = v[i];
        vis[i][i] = 1;
    }

    int j, k;
    bool done = false;

    for (; i <= n * n; i++) {
        done = false;
        for (j = 1; j <= n && !done; j++)
            for (k = 1; k <= n && !done; k++)
                if (!vis[j][k]) {
                    ans[j][k] = -v[i];
                    vis[j][k] = 1;
                    break;
                }
    }

    for (int i = 1; i <= n; i++) {
        for (j = 1; j <= n; j++)
            cout << ans[i][j] << ' ';

        cout << '\n';
    }

    return 0;
}