CF1501B.Napoleon Cake

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Napoleon Cake

This week Arkady wanted to cook some pancakes (to follow ancient traditions) and make a problem about that. But then he remembered that one can't make a problem about stacking pancakes without working at a specific IT company, so he decided to bake the Napoleon cake instead.

To bake a Napoleon cake, one has to bake nn dry layers first, and then put them on each other in one stack, adding some cream. Arkady started with an empty plate, and performed the following steps nn times:

  • place a new cake layer on the top of the stack;
  • after the ii-th layer is placed, pour aia_i units of cream on top of the stack.

When xx units of cream are poured on the top of the stack, top xx layers of the cake get drenched in the cream. If there are less than xx layers, all layers get drenched and the rest of the cream is wasted. If x=0x = 0, no layer gets drenched.

The picture represents the first test case of the example.

Help Arkady determine which layers of the cake eventually get drenched when the process is over, and which don't.

Input

Each test contains multiple test cases. The first line contains the number of test cases tt (1t200001 \le t \le 20\,000). Description of the test cases follows.

The first line of each test case contains a single integer nn (1n21051 \le n \le 2 \cdot 10^5) — the number of layers in the cake.

The second line of each test case contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n (0ain0 \le a_i \le n) — the amount of cream poured on the cake after adding each layer.

It is guaranteed that the sum of nn over all test cases does not exceed 21052 \cdot 10^5.

Output

For each test case, print a single line with nn integers. The ii-th of the integers should be equal to 11 if the ii-th layer from the bottom gets drenched, and 00 otherwise.

Samples

3
6
0 3 0 0 1 3
10
0 0 0 1 0 5 0 0 0 2
3
0 0 0
1 1 0 1 1 1 
0 1 1 1 1 1 0 0 1 1 
0 0 0 

在线编程 IDE

建议全屏模式获得最佳体验