#P9805. Binary Number

Binary Number

Binary Number

Problem Description

Markyyz is learning binary numbers. There is an easy problem in his homework. You are given a binary number s1ns_{1\sim n} (s1s_1 is the highest bit. sns_n is the lowest bit.). You need to do an operation exactly kk times: select an interval [l,r][l,r] (1lrn)(1\leq l \leq r \leq n) arbitrarily and flip sl,sl+1,...,srs_l,s_{l+1},...,s_{r}, in other word, for all i[l,r]i\in[l,r], sis_i becomes 11 if sis_i is 00, sis_i becomes 00 if sis_i is 11. What is the biggest result binary number after the kk operations. Markyyz found useless algorithms useless on the problem, so he asked SPY for help. SPY looked down on the problem but finally got WA (wrong answer). Can you help them to find the right solution?

Input

The first line of the input contains a single integer TT (1T6×104)(1\leq T \leq 6\times 10^4), indicating the number of test cases. In each test case: The first line contains two integers n,kn,k. (1n105,0k1018)(1\leq n\leq 10^5, 0\leq k\leq 10^{18}) The second line contains a binary number s1ns_{1\sim n}. (s1=1(s_1=1, i[2,n]:si{0,1})\forall i\in[2,n]:s_i\in \{0,1\}) It's guarenteed that in all test cases, n2.5×106\sum n\leq 2.5\times 10^6

Output

You need to print a string of length nn in one line, representing the biggest binary number after the kk operations.

Sample Input

2
8 2
10100101
5 233333333333333333
11101

Sample Output

11111101
11111

Source

2023“钉耙编程”中国大学生算法设计超级联赛(2)