import sys
def solve():
input_data = sys.stdin.read().split()
if not input_data:
return
n = int(input_data[0])
k = int(input_data[1])
s = [int(x) for x in input_data[2:]]
offset = [0] * n
for i in range(k, n):
offset[i] = offset[i-k] + s[i-k+1] - s[i-k]
min_val = [0] * k
max_val = [1] * k
for i in range(n):
m = i % k
diff = offset[i]
if -diff > min_val[m]:
min_val[m] = -diff
if 1 - diff < max_val[m]:
max_val[m] = 1 - diff
ans_base = [0] * k
s_remain = s[0]
max_rem = sum(max_val)
for m in range(k):
max_rem -= max_val[m]
val = max(min_val[m], s_remain - max_rem)
ans_base[m] = val
s_remain -= val
res = [str(ans_base[i % k] + offset[i]) for i in range(n)]
print("".join(res))
if __name__ == '__main__':
solve()