#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <vector>
#include <cmath>

using namespace std;

int a[150];
int b[150][150];
int n;

void order() {
    int number = n*n;
    for(int i = 0;i < number-1; i++)
        for(int j = i+1; j < number; j++)
            if(a[i] < a[j])
                swap(a[i], a[j]);
}

int main()
{
    //freopen("1.in", "r", stdin);

    scanf("%d", &n);
    for(int i = 0; i < n*n; i++)
            scanf("%d", &a[i]);

    order();

    int k = 0;
    for(int i = 0; i < n; i++)
        b[i][i] = a[k++];

    for(int i = 0; i < n; i++)
        for(int j = 0; j < n; j++)
            if(i != j)
                b[i][j] = a[k++];

    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++)
            printf("%d ", b[i][j]);
        printf("\n");
    }
    return 0;
}