#P2041. Unreliable Message

Unreliable Message

描述

在太平洋的一个小岛上有一个小王国,王国的国王经常有一些幼稚的想法。有一天,他说:“当你们向我汇报事情时,要用接力传话游戏的方式。” 为了响应国王的要求,选出了六名信使,他们的名字分别是:J先生、C小姐、E先生、A先生、P博士和M先生。他们必须将消息传递给下一位信使,直到消息传到国王那里。

给国王的消息由数字('0'-'9')和字母('a'-'z'、'A'-'Z')组成。消息中区分大小写。例如,“ke3E9Aa”就是一个消息。

与国王的期望相反,他收到的总是错误的消息,因为每个信使在传递消息时都会稍微改变消息。由于这激怒了国王,他对你说(你是王国科学技术厅的部长):“我们不要再收到这样的错误消息了。你要开发软件来纠正它!” 为了响应国王的新要求,你利用王国的所有技术分析了信使们的错误,并获得了每个信使错误的特点。一个令人惊讶的发现是,每个信使在传递消息时总是犯同样的错误。观察到以下事实:

  • J先生将消息的所有字符向左旋转一位。例如,他将“aB23d”变成“B23da”。
  • C小姐将消息的所有字符向右旋转一位。例如,她将“aB23d”变成“daB23”。
  • E先生将消息的左半部分与右半部分交换。如果消息的字符数是奇数,中间的字符保持不变。例如,他将“e3ac”变成“ace3”,将“aB23d”变成“3d2aB”。
  • A先生将消息反转。例如,他将“aB23d”变成“d32Ba”。
  • P博士将消息中的所有数字加1。如果数字是'9',它变成'0'。字母保持不变。例如,他将“aB23d”变成“aB34d”,将“e9ac”变成“e0ac”。
  • M先生将消息中的所有数字减1。如果数字是'0',它变成'9'。字母保持不变。例如,他将“aB23d”变成“aB12d”,将“e0ac”变成“e9ac”。

你需要开发的软件是从最终消息推断出原始消息,给定信使的顺序。例如,如果信使的顺序是 A->J->M->P,国王收到的消息是“aB23d”,那么原始消息是什么?根据信使错误的特点,最终消息的序列是“32Bad”->“daB23”->“aB23d”->“aB12d”->“aB23d”:因此,原始消息应该是“32Bad”。

输入

输入格式如下。

n

信使的顺序

国王收到的消息

...

信使的顺序

国王收到的消息

输入的第一行是一个正整数 nn,表示数据集的数量。每个数据集是一对信使的顺序和国王收到的消息。传递消息的信使数量在1到6之间(包括1和6)。信使的顺序中不会出现同一个人超过一次。消息的长度在1到25之间(包括1和25)。

输出

每个推断出的消息单独打印一行。

输入数据 1

5  
AJMP  
aB23d  
E  
86AE  
AM  
6  
JPEM  
WaEaETC302Q  
CP  
rTurnAGundam1isdefferentf

输出数据 1

32Bad  
AE86  
7  
EC302QTWaEa  
TurnAGundam0isdefferentfr

来源

2003年日本,会津