#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#include <string>
#include <cstring>
using namespace std;
typedef long long int ll;

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

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);
	int q; cin >> q;
	while(q--){
		solve();
	}
}
