#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;
// Policy based data structure
template<class T> using oset=tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
#define ll long long int
#define pii pair<ll,ll>
#define rep(i,st,en) for(ll i=st;i<en;i++)
#define vi vector<ll>
#define vii vector<pii>
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define eb emplace_back
#define yes cout<<"YES"<<endl; return;
#define no cout<<"NO"<<endl; return;
#define flus fflush(stdout);
#define gin(x) cerr<<#x<<" : "<<x<<" ";
#define fin cerr<<endl;
#define F first
#define S second
#define np next_permutation
#define inf 1e18
#define mod 1000000007
#define N 200009
#define PI 3.14159265358979323846
#define minpq priority_queue <ll, vector<ll>, greater<ll>>
#define maxpq priority_queue<ll>
void sout(){
cout<<endl;
}
template <typename T,typename... Types>
void sout(T var1,Types... var2){
cout<<var1<<" ";
sout(var2...);
}
void solve(){
}
int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif // ONLINE_JUDGE
ios_base::sync_with_stdio(false);
cin.tie(NULL);
clock_t t1=clock();
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int ar[n];
for(int i=0;i<n;i++) cin>>ar[i];
for(int i=0;i<n;i++)
{
int count=0;
for(int j=0;j<n;j++)
if(ar[i]==ar[j])count++;
cout<<count<<" ";
if(count==1){
cout<<i+1;
break;
}
}
cout<<endl;
}
cerr<<"Time elapsed: "<<(double)(clock()-t1)/1000<<" s"<<endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAojaW5jbHVkZSA8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsKLy8gUG9saWN5IGJhc2VkIGRhdGEgc3RydWN0dXJlIAp0ZW1wbGF0ZTxjbGFzcyBUPiB1c2luZyBvc2V0PXRyZWU8VCwgbnVsbF90eXBlLCBsZXNzPFQ+LCByYl90cmVlX3RhZywgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsgCiNkZWZpbmUgbGwgbG9uZyBsb25nIGludAojZGVmaW5lIHBpaSBwYWlyPGxsLGxsPgojZGVmaW5lIHJlcChpLHN0LGVuKSBmb3IobGwgaT1zdDtpPGVuO2krKykKI2RlZmluZSB2aSB2ZWN0b3I8bGw+CiNkZWZpbmUgdmlpIHZlY3RvcjxwaWk+CiNkZWZpbmUgYWxsKHgpIHguYmVnaW4oKSx4LmVuZCgpCiNkZWZpbmUgcmFsbCh4KSB4LnJiZWdpbigpLHgucmVuZCgpCiNkZWZpbmUgZWIgZW1wbGFjZV9iYWNrCiNkZWZpbmUgeWVzIGNvdXQ8PCJZRVMiPDxlbmRsOyByZXR1cm47CiNkZWZpbmUgbm8gY291dDw8Ik5PIjw8ZW5kbDsgcmV0dXJuOwojZGVmaW5lIGZsdXMgZmZsdXNoKHN0ZG91dCk7CiNkZWZpbmUgZ2luKHgpIGNlcnI8PCN4PDwiIDogIjw8eDw8IiAiOwojZGVmaW5lIGZpbiBjZXJyPDxlbmRsOwojZGVmaW5lIEYgZmlyc3QKI2RlZmluZSBTIHNlY29uZAojZGVmaW5lIG5wIG5leHRfcGVybXV0YXRpb24KI2RlZmluZSBpbmYgMWUxOAojZGVmaW5lIG1vZCAxMDAwMDAwMDA3CiNkZWZpbmUgTiAyMDAwMDkKI2RlZmluZSBQSSAzLjE0MTU5MjY1MzU4OTc5MzIzODQ2CiNkZWZpbmUgbWlucHEgcHJpb3JpdHlfcXVldWUgPGxsLCB2ZWN0b3I8bGw+LCBncmVhdGVyPGxsPj4KI2RlZmluZSBtYXhwcSBwcmlvcml0eV9xdWV1ZTxsbD4gCnZvaWQgc291dCgpewoJY291dDw8ZW5kbDsKfQp0ZW1wbGF0ZSA8dHlwZW5hbWUgVCx0eXBlbmFtZS4uLiBUeXBlcz4Kdm9pZCBzb3V0KFQgdmFyMSxUeXBlcy4uLiB2YXIyKXsKCWNvdXQ8PHZhcjE8PCIgIjsKCXNvdXQodmFyMi4uLik7Cn0KCgoKCnZvaWQgc29sdmUoKXsKCn0KCmludCBtYWluKCl7CgkjaWZuZGVmIE9OTElORV9KVURHRQoJZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CglmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwoJI2VuZGlmIC8vIE9OTElORV9KVURHRQoKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShOVUxMKTsKCWNsb2NrX3QgdDE9Y2xvY2soKTsKCWludCB0OwoJY2luPj50OwoJd2hpbGUodC0tKXsKCWludCBuOwoJY2luPj5uOwoJaW50IGFyW25dOwoJZm9yKGludCBpPTA7aTxuO2krKykgY2luPj5hcltpXTsKCglmb3IoaW50IGk9MDtpPG47aSsrKQoJewoJCWludCBjb3VudD0wOwoJCWZvcihpbnQgaj0wO2o8bjtqKyspCgkJCWlmKGFyW2ldPT1hcltqXSljb3VudCsrOwoJCWNvdXQ8PGNvdW50PDwiICI7CgkJaWYoY291bnQ9PTEpewoJCQljb3V0PDxpKzE7CgkJCWJyZWFrOwoJCX0gCgl9Cgljb3V0PDxlbmRsOwoJfQoJY2Vycjw8IlRpbWUgZWxhcHNlZDogIjw8KGRvdWJsZSkoY2xvY2soKS10MSkvMTAwMDw8IiBzIjw8ZW5kbDsKfQoKCg==