编程题
### 问题描述
小然在一次冒险中发现了一个古老的神秘宝箱,宝箱上有 $N$ 个密码锁,每个密码锁都隐藏着一个由 $N$ 个整数组成的密码数组。通过使用数字魔法,小然可以获取每个密码数组的最小排除元素(mex,即该数组中未出现的最小非负整数)。
在探索中,小然发现了一种新的魔法——界限魔法。其中,A 型魔法可以找到所有数组中某一整数的最小出现次数,而 B 型魔法则可以找到所有数组中某一整数的最大出现次数。为了更好地掌握这个魔法,小然决定尝试一下。所以,对于每个 $0 \leq i \leq N-1$,他想找出:
1. 在所有数组中,$i$ 的最少可能出现次数。
2. 在所有数组中,$i$ 的最多可能出现次数。
值得注意的是,这些值必须独立计算,即,小然可以选择不同的数组配置尝试最小化/最大化不同整数的出现次数。
### 输入格式
输入的第一行包含一个整数 $T$ —— 测试用例的数量。然后是 $T$ 个测试用例。
每个测试用例的第一行包含一个整数 $N$ ——数组的大小。
每个测试用例的第二行包含 $N$ 个用空格分隔的整数 $A_1, A_2, ..., A_N$,表示 $N$ 个数组的 mex 值。
### 输出格式
对于每个测试用例,输出 $N$ 行,每行包含两个用空格分隔的整数。第 $i$ 行应包含所有数组中 $i$ 的最少和最多可能出现的次数。
### 样例输入
```text
3
2
1 0
5
3 1 5 0 2
3
1 2 1
```
### 样例输出
```text
1 2
0 2
4 13
3 13
2 13
1 13
1 15
3 8
1 2
0 4
```
### 说明
在第一个测试用例中:
- 对于 $i=0$,两个数组可以是 $[0,3]$ 和 $[2,4]$,这样就有一个 $0$,或者是 $[0,0]$ 和 $[3,1]$,这样就有两个 $0$。
- 对于 $i=1$,$[0,4]$ 和 $[3,4]$ 不包含任何 $1$,而 $[0,9]$ 和 $[1,1]$ 包含两个 $1$。
### 评测数据范围
$1 \leq T \leq 10^3$。
$1 \leq N \leq 10^5$。
$0 \leq A_i \leq N$。