#include <bits/stdc++.h>
#define int long long
using namespace std;
void solve() {
int n;
cin >> n;
vector<int> k(n);
vector<pair<int,int>> ans(n);
for(int i=0;i<n;i++){
int p;
cin>>p;
ans[i]={p,i};
}
sort(ans.begin(),ans.end(),greater<pair<int,int>>());
vector<int> p_sum(n+1,0);
p_sum[n-1]=(ans[n-1].first);
for(int i=n-2;i>=0;i--){
p_sum[i]=p_sum[i+1]+ans[i].first;
}
multiset<int> s;
for(int i=0;i<n;i++){
int f=ans[i].first+p_sum[i+1];
int id = distance(s.begin(), s.upper_bound(f));
cout<<id<<endl;
k[ans[i].second]=(n-i-1)+id;
s.insert(ans[i].first);
}
for(int i=0;i<n;i++){
cout<<k[i]<<" ";
}
cout<<endl;
}
signed main() {
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBzb2x2ZSgpIHsKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICB2ZWN0b3I8aW50PiBrKG4pOwogICAgdmVjdG9yPHBhaXI8aW50LGludD4+IGFucyhuKTsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgCWludCBwOwogICAgCWNpbj4+cDsKICAgIAlhbnNbaV09e3AsaX07CiAgICB9CiAgICBzb3J0KGFucy5iZWdpbigpLGFucy5lbmQoKSxncmVhdGVyPHBhaXI8aW50LGludD4+KCkpOwogICAgdmVjdG9yPGludD4gcF9zdW0obisxLDApOwogICAgcF9zdW1bbi0xXT0oYW5zW24tMV0uZmlyc3QpOwogICAgZm9yKGludCBpPW4tMjtpPj0wO2ktLSl7CiAgICAJcF9zdW1baV09cF9zdW1baSsxXSthbnNbaV0uZmlyc3Q7CiAgICB9CiAgICAKICAgIG11bHRpc2V0PGludD4gczsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgCWludCBmPWFuc1tpXS5maXJzdCtwX3N1bVtpKzFdOwogICAgCWludCBpZCA9IGRpc3RhbmNlKHMuYmVnaW4oKSwgcy51cHBlcl9ib3VuZChmKSk7CiAgICAJY291dDw8aWQ8PGVuZGw7CiAgICAJa1thbnNbaV0uc2Vjb25kXT0obi1pLTEpK2lkOwogICAgCXMuaW5zZXJ0KGFuc1tpXS5maXJzdCk7CiAgICB9CiAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgIAljb3V0PDxrW2ldPDwiICI7CiAgICB9CiAgICBjb3V0PDxlbmRsOwogICAgCiAgICAKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIHNvbHZlKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=