#include<iostream>
#include<string>
#include<vector>
#include<cstdio>
using namespace std;
int main(){
  int n;
  string x;
  string st;
  cin >>n;
  for(int i=0;i<n;i++){
    cin >> x;
    cin >> st;
    for(int j=x.size()-1;j>=0;j--){
      if(x[j]=='C'){
	char stock;
	stock = st[0];
	st.erase(st.begin());
	st+=stock;
      }
      else if(x[j]=='J'){
	char stock;
	stock = st[st.size()-1];
	//	cout << "p1"<<endl;
	st.erase(st.size()-1);
	//cout <<"p2"<<endl;
	st.insert(st.begin(),stock);
      }
      else if(x[j]=='E'){
	string stock;
	stock.clear();
	int l=st.size()/2;
	for(int k=0;k<l;k++){
	  stock+=st[k];
	}
	string stock2;
	stock2.clear();
	int od = st.size()%2;
	for(int k=l+od;k<l*2+od;k++){
	  stock2+=st[k];
	}
	char st3;
	if(od==1){
	  st3=st[l];
	  st=stock2+st3+stock;
	}
	else{
	  st=stock2+stock;
	}
      }
      else if(x[j]=='A'){
	string stock;
	stock.clear();
	for(int k=0;st.empty()!=true;k++){
	  stock += st[0];
	  st.erase(st.begin());
	}
	//cout << stock <<endl;
	for(int k=stock.size()-1;k>=0;k--){
	  st+=stock[k];
	}
      }
      else if(x[j]=='M'){
	for(int k=0;k<st.size();k++){
	  if(st[k]>='0'&&st[k]<'9'){
	    st[k]++;
	  }
	  else if(st[k]=='9'){
	    st[k]='0';
	  }
	}
      }
      else if(x[j]=='P'){
	for(int k=0;k<st.size();k++){
	  if(st[k]>'0'&&st[k]<='9'){
	    st[k]--;
	  }
	  else if(st[k]=='0'){
	    st[k]='9';
	  }
	}
      }	

      //cout <<"it is "<<x[j]<<endl;
      //cout << st << endl;
    }
    cout << st << endl;
  }
  return 0;
}