Question and Answer from L4-M1
t = int(input())
for _ in range(t):
n, k = map(int, input().split())
s = input().strip()
for _ in range(k):
ns = list(s) # next state initialized with current state
# we use only original s for checking
for i in range(n):
if s[i] == '1':
ns[i] = '0' # current one becomes zero
if i > 0 and s[i-1] == '0': # flip left neighbor only if it was '0'
ns[i-1] = '1'
if i < n-1 and s[i+1] == '0': # flip right neighbor only if it was '0'
ns[i+1] = '1'
# update string for next second
new_s = ''.join(ns)
if new_s == s: # if no change, break early (optimization)
break
s = new_s
print(s)