def P(m):
	if m.isdigit():
		next = int(m) - 1
		if next < 0: return "9"
		return str(next)
	return m
def M(m):
	if m.isdigit():
		return str((int(m) + 1) % 10)
	return m
n = input()
for i in xrange(n):
	order = raw_input()
	msg = raw_input()
	for c in reversed(order):
		if c == "J":
			msg = msg[-1] + msg[:-1]
		if c == "C":
			msg = msg[1:] + msg[0]
		if c == "E":
			l = len(msg) / 2
			if len(msg) % 2 == 1:
				msg = msg[l + 1:] + msg[l] + msg[:l]
			else:
				msg = msg[l:] + msg[:l]
		if c == "A":
			msg = msg[::-1]
		if c == "P":
			msg = "".join(P(m) for m in msg)
		if c == "M":
			msg = "".join(M(m) for m in msg)
	print msg