#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int N;
int A[102 * 102];
int R[102][102];

int main()
{
	cin.sync_with_stdio(false);
	
	cin >> N;
	for (int i = 1; i <= N * N; ++i)
		cin >> A[i];
	sort(A + 1, A + N * N + 1, greater<int>());
	
	for (int i = 1; i <= N; ++i)
		R[i][i] = A[i];
	
	int now = N;
	for (int i = 1; i <= N; ++i)
		for (int j = 1; j <= N; ++j)
			if (i != j)
				R[i][j] = A[++now];
	
	for (int i = 1; i <= N; ++i)
	{
		for (int j = 1; j <= N; ++j)
			cout << R[i][j] << ' ';
		cout << '\n';
	}
}