#include<cstdlib>
#include<vector>
#include<queue>
#include<map>
#include<cctype>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;

#define fisier 0
#define consola 0

#if fisier
 #include<fstream>
 ifstream cin("fisier.in");
 ofstream cout("fisier.out");
#else
 #include<iostream> 
#endif

const int MAX_N = 102;

int v[MAX_N*MAX_N],a[MAX_N][MAX_N];
int i,j,n,ic,sf,nr;

int main(){
    cin>>n;  nr=n*n;
    for(i=1;i<=nr;i++) cin>>v[i];
    sort(v+1,v+nr+1);
    
    ic=1; sf=n*n;
    for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
        if(i==j) a[i][j]=v[sf--];
        else a[i][j]=v[ic++];
    
    for(i=1;i<=n;i++){
      for(j=1;j<=n;j++)
        cout<<a[i][j]<<' ';
      cout<<'\n';
    }
    
    #if fisier
     cin.close();
     cout.close();
    #endif
    
    #if consola
     system("pause");
    #endif
    return 0;
}