#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
const int maxn = 1e4 + 11;
int sum[maxn];
int ans[maxn][105];
bool cmp(const int &a, const int &b)
{
return a > b;
}
int fa[4][2] = { {0,1},{1,0},{0,-1},{-1,0} };
int main()
{
int t, n;
int h, l, len;
scanf("%d", &t);
int x;
while (t--)
{
len = 1;
memset(ans, 0, sizeof ans);
scanf("%d", &n);
x = (int)sqrt(n);
for (int i = x; i >= 1; i--)
{
if (n%i == 0)
{
l = i;
h = n / i;
break;
}
}
for (int i = 1; i <= n; i++)
{
scanf("%d", &sum[i]);
}
sort(sum + 1, sum + n + 1, cmp);
int f = 0;
int i = 1, j = 1;
int di, dj;
ans[i][j] = sum[len++];
while (len != n + 1)
{
di = i + fa[f][0];
dj = j + fa[f][1];
if (di <= h && di >= 1 && dj <= l && dj >= 1 && ans[di][dj] == 0)
{
ans[di][dj] = sum[len++];
i = di, j = dj;
}
else
{
f++;
f %= 4;
}
}
for (int i = 1; i <= h; i++)
{
for (int j = 1; j <= l; j++)
{
if (j != l) printf("%d ", ans[i][j]);
else printf("%d\n", ans[i][j]);
}
}
printf("\n");
}
}