题号:NC200013
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
快到卡特莉的生日了,助手诺亚想为卡特莉献唱一首生日歌。
现在他已经拿到了乐谱,但是还需要你来帮他转调,使得他能顺利地唱好生日歌。
我们认为乐谱中的音符有从低到高以下12种:

,

,

,

,

,

,

,

,

,

,

,

。
给乐谱转调就是把乐谱中的所有音符降低或者升高。
例如我们把将

转化为

称作升一个半音,把将

转化为

称作降一个半音。
进一步地,如果我们将

继续下降,为了减小你的工作量,你可以认为会得到

。
同样地,你可以认为

升一个半音是

。
输入描述:
第一行输入一个T(1<=T<=10)表示数据组数。
接下来T组数据。
对于每组数据,第一行输入一个n(1<=n<=100),m(-1000000000<=m<=1000000000)。
分别表示乐谱的音符个数,和你需要转调的次数。
如果m>=0,则表示你需要上升乐谱m次。
如果m<0,则表示你需要下降乐谱-m次。
接下来输入一行,含有n个音符,保证输入的音符是题面中描述的12种之一。
输出描述:
输出一行,表示你转调后乐谱。
请注意行末不要输出多余空格。
示例1
输入
复制
2
12 2
1 #1 2 #2 3 4 #4 5 #5 6 #6 7
12 -1
7 #6 1 #1 2 #2 3 4 #4 5 #5 6
输出
复制
2 #2 3 4 #4 5 #5 6 #6 7 1 #1
#6 6 7 1 #1 2 #2 3 4 #4 5 #5