#include<iostream>
#include<stdlib.h>
#include<math.h>
#include<fstream>

using namespace std ;



int numcompare( const void * A , const void * B  )
{
    return  ( *(int*)B - *(int*)A  ) ;

}

int main()
{
    freopen("input.in" , "r" , stdin ) ;
    int n ;
    int v [100 * 100] ;
    cin >> n ;

    for (int i = 0 ; sqrt(i) < n ; i++  ) cin >> v [ i ] ;

    qsort(v , n * n , sizeof(int) , numcompare ) ;


    int x = n;

    for ( int i = 0 ; i < n ; i ++ )
    {
        for ( int j = 0 ; j < n ; j ++ )
        {
            if ( i == j ) cout << v [ i ] << ' ' ;

            else  cout << v [ x++ ] << ' ' ;

        }
        cout << '\n' ;

    }

    return  0 ;
}