#include<cstdio>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
struct FZ {
int num;
int organ;
};
int main() {
int n;
scanf("%d", &n);
for (int k = 0; k < n; k++) {
FZ fz[100];
vector<int> vec1;
vector<int> vec2;
int m;
scanf("%d", &m);
for (int i = 0; i < m; i++) {
scanf("%d", &fz[i].num);
int flag = 1;
for (int x = 0; x < vec1.size(); x++) {
if (fz[i].num == vec1[x]) {
flag = 0;
break;
}
}
if (flag == 1)
vec1.push_back(fz[i].num);
}
for (int i = 0; i < m; i++) {
scanf("%d", &fz[i].organ);
int flag = 1;
for (int x = 0; x < vec2.size(); x++) {
if (fz[i].organ == vec2[x]) {
flag = 0;
break;
}
}
if (flag == 1)
vec2.push_back(fz[i].organ);
}
sort(vec1.begin(), vec1.end());
sort(vec2.begin(), vec2.end());
int i, j;
for (i = 0; i < vec2.size(); i++) {
printf("%d={", vec2[i]);
int sum = 0;
for (j = 0; j < vec1.size(); j++) {
sum = 0;
for (int x = 0; x < m; x++) {
if (fz[x].num == vec1[j] && fz[x].organ == vec2[i])
sum++;
}
if (j == vec1.size() - 1)
break;
printf("%d=%d,", vec1[j],sum);
}
printf("%d=%d}\n",vec1[j],sum);
}
}
}