CF BUDDY
← Problems·

1701D · Permutation Restoration

1900 · binary search, data structures, greedy

Problem: Monocarp had a permutation aa of nn integers 11, 22, ..., nn (a permutation is an array where each element from 11 to nn occurs exactly once).

Then Monocarp calculated an array of integers bb of size nn, where bi=iaib_i = \left\lfloor \frac{i}{a_i} \right\rfloor. For example, if the permutation aa is [2,1,4,3][2, 1, 4, 3], then the array bb is equal to [12,21,34,43]=[0,2,0,1]\left[ \left\lfloor \frac{1}{2} \right\rfloor, \left\lfloor \frac{2}{1} \right\rfloor, \left\lfloor \frac{3}{4} \right\rfloor, \left\lfloor \frac{4}{3} \right\rfloor \right] = [0, 2, 0, 1].

Unfortunately, the Monocarp has lost his permutation, so he wants to restore it. Your task is to find a permutation aa that corresponds to the given array bb. If there are multiple possible permutations, then print any of them. The tests are constructed in such a way that least one suitable permutation exists.

Input Format: The first line contains a single integer tt (1t1051 \le t \le 10^5) — number of test cases.

The first line of each test case contains a single integer nn (1n51051 \le n \le 5 \cdot 10^5).

The second line contains nn integers b1,b2,,bnb_1, b_2, \dots, b_n (0bin0 \le b_i \le n).

Additional constrains on the input:

  • the sum of nn over test cases does not exceed 51055 \cdot 10^5;
  • there exists at least one permutation aa that would yield this array bb.

Output Format: For each test case, print nn integers — a permutation aa that corresponds to the given array bb. If there are multiple possible permutations, then print any of them.

Sample Cases

Case 1

Input

4
4
0 2 0 1
2
1 1
5
0 0 1 4 1
3
0 1 3

Output

2 1 4 3 
1 2 
3 4 2 1 5 
3 2 1

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback