Problem:
Score : 500 points

Problem Statement

We have N bulbs arranged on a number line, numbered 1 to N from left to right.
Bulb i is at coordinate i.

Each bulb has a non-negative integer parameter called intensity.
When there is a bulb of intensity d at coordinate x, the bulb illuminates the segment from coordinate x-d-0.5 to x+d+0.5.
Initially, the intensity of Bulb i is A_i. We will now do the following operation K times in a row:

For each integer i between 1 and N (inclusive), let B_i be the number of bulbs illuminating coordinate i. Then, change the intensity of each bulb i to B_i.

Find the intensity of each bulb after the K operations.

Constraints

1 \leq N \leq 2 \times 10^5

1 \leq K \leq 2 \times 10^5

0 \leq A_i \leq N

Input

Input is given from Standard Input in the following format:

N K
A_1 A_2 \ldots A_N

Output

Print the intensity A{'}_i of each bulb i after the K operations to Standard Output in the following format:

A{'}_1 A{'}_2 \ldots A{'}_N

Sample Input 1

5 1
1 0 0 1 0

Sample Output 1

1 2 2 1 2

Initially, only Bulb 1 illuminates coordinate 1, so the intensity of Bulb 1 becomes 1 after the operation.
Similarly, the bulbs initially illuminating coordinate 2 are Bulb 1 and 2, so the intensity of Bulb 2 becomes 2.

Sample Input 2

5 2
1 0 0 1 0

Sample Output 2

3 3 4 4 3

Solution in OCaml (4.10.0) (judge verdict: Wrong Answer)

open Batteries
let n, k = Scanf.sscanf (read_line()) "%d %d" (fun n k -> n,k)
let a = Array.init n @@ fun _ -> Scanf.scanf " %d" @@ fun a -> a


let rec main_loop i dp =
  if i >= n then print_string "\n" else (
    Printf.printf "%d " dp.(i); 
    main_loop (i+1) dp
  )

let rec k_loop l a_ =
  if l >= k then a_ else begin
  let dp = Array.init n @@ fun _ -> 0 in
  let rec do_lamp lamp =
  for i = lamp - a_.(lamp) to lamp + a_.(lamp) do
    if i < 0 || i >= 5 then () else (
      dp.(i) <- dp.(i) + 1
    )
  done in

  let rec loop i =
  if i >= n then () else (
    do_lamp i; loop (i+1)
  )
  in loop 0; k_loop (l+1) dp
  end

let dp1 = k_loop 0 a

let _ = main_loop 0 dp1