#include <iostream>
using namespace std;
int arr[1001];
int len;
void HeapAdjust(int s,int m)
{
int j;
int x = arr[s];
for(j = 2*s; j <= m; j*=2)
{
if(j < m && arr[j] < arr[j+1])j++;
if(x >= arr[j])break;
arr[s] = arr[j];
s = j;
}
arr[s] = x;
}
//建堆
void CreatHeap()
{
for(int i = len/2; i > 0; i--)
{
HeapAdjust(i,len);
}
}
//排序
void HeapSort()
{
CreatHeap();
int i,x;
for(i = len; i > 1; i--)
{
x = arr[1];
arr[1] = arr[i];
arr[i] = x;
HeapAdjust(1,i-1);
}
}
int main()
{
int i;
int T;
cin>>T;
while(T--)
{
memset(arr,0,sizeof(arr));
cin>>len;
for(i = 1; i <= len; i++)
{
cin>>arr[i];
}
//排序
HeapSort();
for(i = 0; i < len; i++)
{
cout<<arr[i];
if(i + 1 < len)cout<<" ";
}
cout<<endl;
}
return 0;
}