#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;
//英语 抄博友程序 模拟
string s;
int n;
void J()
{
char c=s[n-1];
s.erase(n-1,1);
s.insert(0,1,c);//抄博友程序
}
void C()
{
char c=s[0];//抄博友程序
s.erase(0,1);
//s.insert(s.length(), 1, c);//抄博友程序
s.append(1,c);
}
void E()
{
string t=s;
if(n%2)
{
char c=s[n/2];
s.erase(0,n/2+1);//抄博友程序
s.append(1,c);
s.append(t,0,n/2);//抄博友程序
}else
{
s.erase(0,n/2);
s.append(t,0,n/2);
}
}
void A()
{
reverse(s.begin(),s.end());
}
void P()
{
for(int i=0;i<n;i++)
{
if(s[i]<='9' && s[i]>='0')
{
s[i]--;
if(s[i]<'0')
{
s[i]='9';
}
}
}
}
void M()
{
for(int i=0;i<n;i++)
{
if(s[i]>='0' && s[i]<='9')
{
s[i]++;
if(s[i]>'9')
{
s[i]='0';
}
}
}
}
void fun(char x)
{
if(x=='J')
{
J();
}else if(x=='C')
{
C();
}else if(x=='E')
{
E();
}else if(x=='A')
{
A();
}else if(x=='P')
{
P();
}else if(x=='M')
{
M();
}
}
int main()
{
int T;
cin>>T;
for(int o=0;o<T;o++)
{
string com;
cin>>com;
cin>>s;
n=s.length();
for(int i=com.length()-1;i>=0;i--)//抄博友程序
//for(int i=0;i<com.length();i++)//wa
{
fun(com[i]);
//cout<<com[i]<<" "<<s<<endl;
}
cout<<s<<endl;
}
return 0;
}