#include <bits/stdc++.h>
using namespace std;

typedef unsigned long long ull;
#define loop(i,a,b) for(int i=(a);i<ull(b);++i)
#define rep(i,n) loop(i,0,n)

const double eps = 1e-10;
const double pi  = acos(-1.0);
const double inf = (int)1e8;

int main(){
    int q;
    cin >> q;
    rep(p, q){
        string s, m;
        cin >> s >> m;
        reverse(s.begin(), s.end());
        for(int i=0; i< s.size(); i++){
            if(s[i] == 'J'){
                if(1 <= m.size())m = m.substr(m.size()-1, 1) + m.substr(0, m.size()-1);
            }
            if(s[i] == 'C'){
                if(1 <= m.size())m = m.substr(1) + m.substr(0, 1);
            }
            if(s[i] == 'E'){
                if(1 <= m.size()){
                    if(m.size()%2 == 0)m = m.substr(m.size()/2)+ m.substr(0, m.size()/2);
                    else m = m.substr(m.size()/2+1) + m.substr(m.size()/2, 1) + m.substr(0, m.size()/2);
                }
            }
            if(s[i] == 'A') reverse(m.begin(), m.end());
            if(s[i] == 'P'){
                for(int j=0; j< m.size(); j++){
                    if('0' <= m[j] && m[j] <= '9'){
                        if(m[j] == '0') m[j] = '9';
                        else m[j]--;
                    }
                }
            }
            if(s[i] == 'M'){
                for(int j=0; j< m.size(); j++){
                    if('0' <= m[j] && m[j] <= '9'){
                        if(m[j] == '9') m[j] = '0';
                        else m[j]++;
                    }
                }
            }
        }
        cout << m << endl;
    }
}