#include <stdio.h>
#include <stdlib.h>
int comp(const void * p1, const void * p2)
{
    int *i1;
    int *i2;

    i1=(int *)p1;
    i2=(int *)p2;
    return(*i2)-(*i1);
}

int main()
{
    int i,j,max=0,tobbi,n,v[10000];
    scanf("%d",&n);
    tobbi=n;
    for(i=0;i<n*n;i++) scanf("%d",&v[i]);
    qsort(v,n*n,sizeof(int),comp);
    for(i=0;i<n;i++){
        for(j=0;j<n;j++)
    {
        if(i!=j) {printf("%d ",v[tobbi]);
        tobbi++;}
        else {
                printf("%d ",v[max]);
                max++;
             }
    }
       printf("\n");
    }
    return 0;
}