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

using namespace std;


int main()
{
	int N; cin >> N;
	int squareN = N * N;
	
	vector<int> array;
	int x;
	for (int i = 0; i < squareN; i++)
	{
		cin >> x;
		array.push_back(x);
	}

	sort(array.begin(), array.end());

	int indexOfMaxes = squareN - N;
	int index = 0;
	for (int i = 0; i < N; i++)
	{
		for (int j = 0; j < N; j++)
		{
			if (i == j)
			{
				cout << array[indexOfMaxes++] << ' ';
			}
			else
			{
				cout << array[index++] << ' ';
			}
		}
		cout << '\n';
	}

	return 0;
}