#include <fstream>
#include <iostream>
#include <queue>
#include <algorithm>


using namespace std ;


    const int NMAX = 105 ;
    ifstream fin("input.in");
    ofstream fout("output.out") ;
    int N ;
    int V[NMAX] ;
    int A[NMAX][NMAX] ;


int main()
{


    cin >> N ;

    for(int i = 1 ; i <= N * N; ++ i)
    {
        cin >> V[i] ;
    }



    sort(V + 1, V + (N *N) + 1) ;

    int s = N * N ;


int cnt = 1 ;
    for(int i = 1 ; i <= N ; ++ i)
    {for(int j = 1 ; j <= N ; ++ j)
        if(i != j)
        {cout << V[cnt]<< ' ';
        ++ cnt ;
        }
        else {
            cout << V[s] << ' ';
            -- s;

        }

        cout << '\n' ;
    }


    fin.close() ;
    fout.close() ;
    return 0 ;
}