CF1516A.Tit for Tat

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Tit for Tat

Given an array aa of length nn, you can do at most kk operations of the following type on it:

  • choose 22 different elements in the array, add 11 to the first, and subtract 11 from the second. However, all the elements of aa have to remain non-negative after this operation.

What is lexicographically the smallest array you can obtain?

An array xx is lexicographically smaller than an array yy if there exists an index ii such that xi<yix_i \lt y_i, and xj=yjx_j=y_j for all 1j<i1 \le j \lt i. Less formally, at the first index ii in which they differ, xi<yix_i \lt y_i.

Input

The first line contains an integer tt (1t201 \le t \le 20) – the number of test cases you need to solve.

The first line of each test case contains 22 integers nn and kk (2n1002 \le n \le 100, 1k100001 \le k \le 10000) — the number of elements in the array and the maximum number of operations you can make.

The second line contains nn space-separated integers a1a_1, a2a_2, \ldots, ana_{n} (0ai1000 \le a_i \le 100) — the elements of the array aa.

Output

For each test case, print the lexicographically smallest array you can obtain after at most kk operations.

Note

In the second test case, we start by subtracting 11 from the first element and adding 11 to the second. Then, we can't get any lexicographically smaller arrays, because we can't make any of the elements negative.

Samples

2
3 1
3 1 4
2 10
1 0
2 1 5 
0 1 

在线编程 IDE

建议全屏模式获得最佳体验