import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        while (m-- > 0) {
            int n = sc.nextInt();
            int[] numbers = new int[n];
            for (int i = 0; i < n; i++) numbers[i] = sc.nextInt();
            Map<Integer, Map<Integer, Integer>> groupCounts = new HashMap<>();
            Set<Integer> allNumbers = new TreeSet<>();
            for (int i = 0; i < n; i++) {
                int number = numbers[i];
                int group = sc.nextInt();
                allNumbers.add(number);
                groupCounts.putIfAbsent(group, new HashMap<>());
                Map<Integer, Integer> countMap = groupCounts.get(group);
                countMap.put(number, countMap.getOrDefault(number, 0) + 1);
            }
            StringBuilder output = new StringBuilder();
            for (int group : groupCounts.keySet()) {
                Map<Integer, Integer> countMap = groupCounts.get(group);
                output.append(group).append("={");
                int[] all_numbers = allNumbers.stream().mapToInt(Integer::intValue).toArray();
                for (int i = 0; i < all_numbers.length; i++) {
                    int number = all_numbers[i];
                    int count = countMap.getOrDefault(number, 0);
                    output.append(number).append("=").append(count);
                    if (i < all_numbers.length - 1) output.append(",");
                }
                output.append("}\n");
            }
            System.out.print(output);
        }
    }
}