#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
int t;
cin >>t ;
while(t--)
{
unordered_map<int, int> mp;
int n;
cin >> n;
while(n--)
{
int num;
cin >>num;
if(mp.find(num)== mp.end())
{
mp[num] = 1;
}
else
{
mp[num]++;
}
}
for(auto it = mp.begin(); it!=mp.end(); it++)
{
cout << it->first << " " << it->second <<endl;
}
}
//code
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIAogICAgCiAgICBpbnQgdDsKICAgIGNpbiA+PnQgOwogICAgd2hpbGUodC0tKQogICAgewogICAgICAgdW5vcmRlcmVkX21hcDxpbnQsIGludD4gbXA7CiAgICAgICBpbnQgbjsKICAgICAgIGNpbiA+PiBuOwogICAgICAgCiAgICAgICB3aGlsZShuLS0pCiAgICAgICB7CiAgICAgICAgICAgaW50IG51bTsKICAgICAgICAgICBjaW4gPj5udW07CiAgICAgICAgICAgaWYobXAuZmluZChudW0pPT0gbXAuZW5kKCkpCiAgICAgICAgICAgewogICAgICAgICAgICAgICBtcFtudW1dID0gMTsKICAgICAgICAgICB9IAogICAgICAgICAgIGVsc2UKICAgICAgICAgICB7CiAgICAgICAgICAgICAgIG1wW251bV0rKzsKICAgICAgICAgICB9CiAgICAgICB9CiAgICAgICAKICAgICAgIGZvcihhdXRvIGl0ID0gbXAuYmVnaW4oKTsgaXQhPW1wLmVuZCgpOyBpdCsrKQogICAgICAgewogICAgICAgICAgY291dCA8PCBpdC0+Zmlyc3QgPDwgIiAiIDw8IGl0LT5zZWNvbmQgPDxlbmRsOyAKICAgICAgIH0KICAgIH0KICAgIAogICAgCiAgICAKICAgIAoJLy9jb2RlCglyZXR1cm4gMDsKfQ==