#include <cstdio>
#include <algorithm>
using namespace std;

bool cmp (int a, int b) {return a>b;}

int n;
int T[10005];
int M[105][105];

int main()
{
	//freopen ("fis.in", "r", stdin);
	//freopen ("fis.out", "w", stdout);
	scanf ("%d", &n);
	for (int i = 1; i <= n * n; i++)
		scanf("%d", &T[i]);
	sort(T + 1, T+ n*n +1, cmp);
	for (int i = 1; i <= n; i++)
		M[i][i] = T[i];
	int k = n + 1;
	for (int i = 1; i <= n; i++)
		for (int j = 1; j <= n; j++)
			if (i != j) {
				M[i][j] = T[k++];
			}
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
			printf ("%d ", M[i][j]);
		printf ("\n");
	}
	return 0;
}