//#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(int a, int b)
{
	if (a > b) return 1;
	return 0;
}
int main()
{
	int n, i, a[101][101], v[10001],p,q;
	//freopen("a.in", "r", stdin);
	//freopen("a.out", "w", stdout);
	cin >> n;
	for (i = 0; i <= n*n-1; i++)
		cin >> v[i];
	sort(v, v + n*n ,cmp);
	for (i = 0; i < n; i++)
		a[i][i] = v[i];
	p = 0; q = 1;
	for (i = n; i < n*n; i++)
	{
		if (p != q)
			a[p][q] = v[i];
		else
			i--;
		q++;
		if (q == n)
		{
			q = 0;
			p++;
		}
	}
	for (p = 0; p < n; p++)
	{
		for (q = 0; q < n; q++)
			cout << a[p][q] << " ";
		cout << "\n";
	}
	//cin >> n;
}