幼稚园的树
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛在幼稚园做义工,幼稚园中共有 n 颗树,第 1 天中午时它们的高度分别为: (单位:厘米)。

每一天的晚上每棵树的高度都会增加 a 厘米,而牛牛的任务则是在第二天的清晨检查每一颗树的高度,若某颗树的高度超过了 k 厘米牛牛就会将它的高度修剪为 b 厘米。

牛牛想请你帮它计算一下第 m中午每一颗树的高度。

输入描述:

本题采用多组案例输入,第一行一个整数 T 代表案例组数。
每组案例中,第一行输入一个数 n
接下来一行输入 n 个由空格分隔的整数代表:
接下来一行输入三个由空格分隔的整数代表:
接下来一行输入一个整数代表:m
保证:



单个测试点中所有案例 n 的和与 m 的和都不超过 3000

输出描述:

对于每组案例,输出一行 n 个空格分隔的整数代表第 m 天中午每棵树的高度(单位:厘米),案例与案例之间用换行分隔。
示例1

输入

复制
2
6
1 10 100 200 120 230
5 230 200
7
5
1 2 3 4 5
10 5 2
1

输出

复制
31 40 130 230 150 225
1 2 3 4 5