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:]]
diff = [0] * (n + 1)
for i in range(1, n - k + 1):
diff[i + k] = s[i] - s[i - 1]
delta = [0] * (n + 1)
for i in range(1, n + 1):
if i <= k:
delta[i] = 0
else:
delta[i] = delta[i - k] + diff[i]
status = [-1] * (k + 1)
for i in range(1, n + 1):
j = (i - 1) % k + 1
min_aj = -delta[i]
max_aj = 1 - delta[i]
if min_aj == 1:
status[j] = 1
if max_aj == 0:
status[j] = 0
fixed_ones = 0
free_positions = []
for j in range(1, k + 1):
if status[j] == 1:
fixed_ones += 1
elif status[j] == -1:
free_positions.append(j)
needed_ones = s[0] - fixed_ones
for idx, j in enumerate(free_positions):
if idx < len(free_positions) - needed_ones:
status[j] = 0
else:
status[j] = 1
a = [0] * (n + 1)
for j in range(1, k + 1):
a[j] = status[j]
for i in range(k + 1, n + 1):
a[i] = a[i - k] + diff[i]
print("".join(map(str, a[1:])))
if __name__ == '__main__':
solve()