CF1516A Tit for Tat

Description

Given an array $ a $ of length $ n $ , you can do at most $ k $ operations of the following type on it: - choose $ 2 $ different elements in the array, add $ 1 $ to the first, and subtract $ 1 $ from the second. However, all the elements of $ a $ have to remain non-negative after this operation. What is lexicographically the smallest array you can obtain? An array $ x $ is [lexicographically smaller](https://en.wikipedia.org/wiki/Lexicographical_order) than an array $ y $ if there exists an index $ i $ such that $ x_i

Input Format

The first line contains an integer $ t $ ( $ 1 \le t \le 20 $ ) – the number of test cases you need to solve. The first line of each test case contains $ 2 $ integers $ n $ and $ k $ ( $ 2 \le n \le 100 $ , $ 1 \le k \le 10000 $ ) — the number of elements in the array and the maximum number of operations you can make. The second line contains $ n $ space-separated integers $ a_1 $ , $ a_2 $ , $ \ldots $ , $ a_{n} $ ( $ 0 \le a_i \le 100 $ ) — the elements of the array $ a $ .

Output Format

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

Explanation/Hint

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