#include<iostream>
#include<string>
using namespace std;

void Mr_J(string *str){
  
  string s1,s2;
  
  s1=(*str).substr(0,1);
  s2=(*str).substr(1);
  
  (*str)=s2+s1;
  
}
void Miss_C(string *str){

  string s1,s2;
  
  s1=(*str).substr(0,(*str).size()-1);
  s2=(*str).substr((*str).size()-1);
  
  (*str)=s2+s1;
  
}
void Mr_E(string *str){
  
  string s1,s2,s3;
  
  if((*str).size() % 2 == 0){
    s1=(*str).substr(0,(*str).size()/2);
    s2=(*str).substr((*str).size()/2);
    (*str)=s2+s1;
  }else{
    s1=(*str).substr(0,(*str).size()/2);
    s2=(*str).substr(((*str).size()/2)+1);
    s3=(*str).substr((*str).size()/2,1);
    (*str)=s2+s3+s1;
  }
  
}
void Mr_A(string *str){
  
  string s1;
  
  s1="";
  
  for(int i=(*str).size()-1 ; i >= 0 ; i--){
    s1+=(*str)[i];
  }
  
  (*str)=s1;
  
}
void Dr_P(string *str){
  
  for(int i=0 ; i < (*str).size() ; i++){
    if((*str)[i] >= '0' && (*str)[i] <= '9'){
      (*str)[i]=(*str)[i]+1;    
      if((*str)[i] > '9')(*str)[i]='0';
    }
  }
  
}
void Mr_M(string *str){
  
  for(int i=0 ; i < (*str).size() ; i++){
    if((*str)[i] >= '0' && (*str)[i] <= '9'){
      (*str)[i]=(*str)[i]-1;
      if((*str)[i] < '0')(*str)[i]='9';
    }
  }
}
int main(){
  
  int n;
  
  cin >>n;
  
  for(int i=0 ; i < n ; i++){
    string key,str;
    cin >>key;
    cin >>str;
    for(int j=key.size()-1 ; j >= 0; j--){
      switch(key[j]){
      case 'J':
	Miss_C(&str);
	break;
      case 'C':
	Mr_J(&str);
	break;
      case 'E':
	Mr_E(&str);
	break;
      case 'A':
	Mr_A(&str);
	break;
      case 'P':
	Mr_M(&str);
	break;
      case 'M':
	Dr_P(&str);
	break;
      }
    }
    cout <<str<<endl;
  }
  
  return 0;
}