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

using namespace std;

bool check(char c)
{
	char v = '0';
	for(int i = 0; i <= 9; i++){
		if(c == (char)(v+i)){
			return true;
		}
	}
	
	return false;
}

string cfunc(string str, int n)
{
	string s = str.substr(1);
	s += str[0];
	
	return s;
}

string jfunc(string str, int n)
{
	string s = str.substr(0, n-1);
	s = str[n-1] + s;
	
	return s;
}

string efunc(string str, int n)
{
	string s;
	if(n%2 == 0){
		s = str.substr(n/2);
		s += str.substr(0, n/2);
	} else {
		s = "";
		for(int i = n/2+1; i < n; i++){
			s += str[i];
		}
		s += str[n/2];
		for(int i = 0; i < n/2; i++){
			s += str[i];
		}
	}
	
	return s;
}

string afunc(string str, int n)
{
	string s = str;
	reverse(s.begin(), s.end());
	
	return s;
}

string pfunc(string str, int n)
{
	string s = str;
	
	for(int i = 0; i < n; i++){
		if(check(s[i])){
			if(s[i] == '0'){
				s[i] = '9';
			} else {
				s[i] = (char)(s[i]-1);
			}
		}
	}
	
	return s;
}

string mfunc(string str, int n)
{
	string s = str;
	
	for(int i = 0; i < n; i++){
		if(check(s[i])){
			if(s[i] == '9'){
				s[i] = '0';
			} else {
				s[i] = (char)(s[i]+1);
			}
		}
	}
	
	return s;
}

int main()
{
	int n, l, m;
	string str, st;
	cin >> n;
	
	while(n--){
		cin >> st;
		cin >> str;
		l = st.size();
		m = str.size();
		
		for(int i = l-1; i >= 0; i--){
			if(st[i] == 'J'){
				str = jfunc(str, m);
			} else if(st[i] == 'C'){
				str = cfunc(str, m);
			} else if(st[i] == 'E'){
				str = efunc(str, m);
			} else if(st[i] == 'A'){
				str = afunc(str, m);
			} else if(st[i] == 'P'){
				str = pfunc(str, m);
			} else if(st[i] == 'M'){
				str = mfunc(str, m);
			}
		}
		
		cout << str << endl;
	}
	
	return 0;
}