B. Power Walkingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputSam is a kindergartener, and there are n children in his group. He decided to create a team with some of his children to play "brawl:go 2".Sam has n power-ups, the i-th has type a_i. A child's strength is equal to the number of different types among power-ups he has.For a team of size k, Sam will distribute all n power-ups to k children in such a way that each of the k children receives at least one power-up, and each power-up is given to someone.For each integer k from 1 to n, find the minimum sum of strengths of a team of k children Sam can get.InputEach test contains multiple test cases. The first line contains a single integer t (1 \le t \le 3 \cdot 10^5) — the number of test cases. Description of the test cases follows.The first line of each test case contains a single integer n (1 \le n \le 3 \cdot 10^5). The second line contains n integers a_1, a_2, \ldots, a_n (1 \le a_i \le 10^9) — types of Sam's power-ups.It is guaranteed that the sum of n over all test cases does not exceed 3 \cdot 10^5.OutputFor every test case print n integers.The k-th integer should be equal to the minimum sum of strengths of children in the team of size k that Sam can get.ExampleInput
2
3
1 1 2
6
5 1 2 2 2 4
Output
2 2 3 
4 4 4 4 5 6 
NoteOne of the ways to give power-ups to minimise the sum of strengths in the first test case:   k = 1: \{1, 1, 2\}    k = 2: \{1, 1\}, \{2\}    k = 3: \{1\}, \{1\}, \{2\}   One of the ways to give power-ups to minimise the sum of strengths in the second test case:   k = 1: \{1, 2, 2, 2, 4, 5\}    k = 2: \{2, 2, 2, 4, 5\}, \{1\}    k = 3: \{2, 2, 2, 5\}, \{1\}, \{4\}    k = 4: \{2, 2, 2\}, \{1\}, \{4\}, \{5\}    k = 5: \{2, 2\}, \{1\}, \{2\}, \{4\}, \{5\}    k = 6: \{1\}, \{2\}, \{2\}, \{2\}, \{4\}, \{5\}   
2
3
1 1 2
6
5 1 2 2 2 4

2 2 3  4 4 4 4 5 6  
['greedy', '*900']