#include <cstdio>
#include <algorithm>
#define NMAX 102
using namespace std;
//FILE* fin=freopen("date.in","r",stdin);
//FILE* fout=freopen("date.out","w",stdout);
int n,sir[NMAX*NMAX];
int m[NMAX][NMAX];
int main()
{
    int i,poz,j;
    scanf("%d",&n);
    for (i=1; i<=n*n; ++i)
        scanf("%d",&sir[i]);
    sort(sir+1,sir+n*n+1);
    for (i=1; i<=n; i++)
        m[i][i]=sir[n*n-i+1];
    poz=n*n-n;
    for (i=1; i<=n; i++)
        for (j=1; j<=n; j++)
            if (i!=j)
                m[i][j]=sir[poz--];
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=n; j++)
        printf("%d ",m[i][j]);
        printf("\n");
    }

    return 0;
}