#include<iostream>
#include<algorithm>
using namespace std;
string s;
int len;

void funcJ(){
  if(len==1)return;
  char tmp=s[len-1];
  for(int i=len-1;i>0;i--)s[i]=s[i-1];
  s[0]=tmp;
}

void funcC(){
  if(len==1)return;
  char tmp=s[0];
  for(int i=0;i+1<len;i++)s[i]=s[i+1];
  s[len-1]=tmp;
}

void funcE(){
  if(len==1)return;

  if(len%2){
    s=s.substr(len/2+1,len/2)+s[len/2]+s.substr(0,len/2);
  }else{
    s=s.substr(len/2,len/2)+s.substr(0,len/2);
  }
}

void funcA(){
  reverse(s.begin(),s.end());
}

void funcP(){
  for(int i=0;i<len;i++){
    if(s[i]=='0'){
      s[i]='9';
    }else if('1'<=s[i]&&s[i]<='9'){
      s[i]--;
    }
  }
}

void funcM(){
  for(int i=0;i<len;i++){
     if(s[i]=='9'){
       s[i]='0';
     }else if('0'<=s[i]&&s[i]<='8'){
       s[i]++;
     }
  }
}

int main(){
  int n;
  string A;
  cin>>n;
  while(n--){
    cin>>A>>s;
    len=s.size();
    reverse(A.begin(),A.end());
    for(int i=0;i<(int)A.size();i++){
      if(A[i]=='M')funcM();
      if(A[i]=='P')funcP();
      if(A[i]=='A')funcA();
      if(A[i]=='E')funcE();
      if(A[i]=='C')funcC();
      if(A[i]=='J')funcJ();
    }
    cout<<s<<endl;
  }
  return 0;
}