#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

int main(){

	int n;
	
	cin>>n;
	
	while(n--){
		
		string ord, mes;
		
		cin>>ord>>mes;
		reverse(ord.begin(), ord.end());
		int m=mes.size();
		
		for(int i=0; i<ord.size(); ++i){
			
			char c=ord[i];
			
			if(c=='J'){
				rotate(mes.begin(), mes.end()-1, mes.end());
			}
			else if(c=='C'){
				rotate(mes.begin(), mes.begin()+1, mes.end());
			}
			else if(c=='E'){
				
				if(m%2==1)
					mes = mes.substr(m/2+1) + mes[m/2] + mes.substr(0,m/2);
				else
					mes = mes.substr(m/2) + mes.substr(0,m/2);
			}
			else if(c=='A'){	
				reverse(mes.begin(), mes.end());
			}
			else if(c=='M'){
				
				for(int i=0; i<m; ++i){
					if('0'<=mes[i] && mes[i]<='9')
						mes[i] = mes[i]=='9'?'0':(mes[i]+1);
				}
			}
			else if(c=='P'){
				
				for(int i=0; i<m; ++i){
					if('0'<=mes[i] && mes[i]<='9')
						mes[i] = mes[i]=='0'?'9':(mes[i]-1);
				}
			}
		}
		
		cout << mes << endl;
	}
	
	return 0;
}