#D1543. Chattering

    ID: 1287 Type: Default 2000ms 256MiB

Chattering

Chattering

There are n parrots standing in a circle. Each parrot has a certain level of respect among other parrots, namely r_i. When a parrot with respect level x starts chattering, x neighbours to the right and to the left of it start repeating the same words in 1 second. Their neighbours then start repeating as well, and so on, until all the birds begin to chatter.

You are given the respect levels of all parrots. For each parrot answer a question: if this certain parrot starts chattering, how many seconds will pass until all other birds will start repeating it?

Input

In the first line of input there is a single integer n, the number of parrots (1 ≤ n ≤ 10^5).

In the next line of input there are n integers r_1, ..., r_n, the respect levels of parrots in order they stand in the circle (1 ≤ r_i ≤ n).

Output

Print n integers. i-th of them should equal the number of seconds that is needed for all parrots to start chattering if the i-th parrot is the first to start.

Examples

Input

4 1 1 4 1

Output

2 2 1 2

Input

8 1 2 2 1 5 1 3 1

Output

3 3 2 2 1 2 2 3

inputFormat

Input

In the first line of input there is a single integer n, the number of parrots (1 ≤ n ≤ 10^5).

In the next line of input there are n integers r_1, ..., r_n, the respect levels of parrots in order they stand in the circle (1 ≤ r_i ≤ n).

outputFormat

Output

Print n integers. i-th of them should equal the number of seconds that is needed for all parrots to start chattering if the i-th parrot is the first to start.

Examples

Input

4 1 1 4 1

Output

2 2 1 2

Input

8 1 2 2 1 5 1 3 1

Output

3 3 2 2 1 2 2 3

样例

8
1 2 2 1 5 1 3 1
3 3 2 2 1 2 2 3 

</p>