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

using i64 = int64_t;

string J(string s){
    char c = s.back();
    s.pop_back();
    return c + s;
}

string C(string s){
    char c = s[0];
    s = s.substr(1, s.size()-1);
    return s + c;
}

string E(string s){
    string left = s.substr(0, s.size()/2);
    string right = s.substr(s.size()/2 + s.size()%2, s.size()/2);
    string res = right;
    if(s.size() % 2)res += s[s.size()/2];
    res += left;
    return res;
}

string A(string s){
    reverse(s.begin(), s.end());
    return s;
}

string P(string s){
    string res;
    for(auto c: s){
        if(c >= '0' && c <= '9'){
            if(c == '0')c = '9';
            else c--;
        }
        res.push_back(c);
    }
    return res;
}

string M(string s){
    string res;
    for(auto c: s){
        if(c >= '0' && c <= '9'){
            if(c == '9')c = '0';
            else c++;
        }
        res.push_back(c);
    }
    return res;
}

int main(){
    int n;
    cin >> n;
    for(int i=0;i<n;++i){
        string s;
        cin >> s;
        string mes;
        cin >> mes;
        reverse(s.begin(), s.end());
        for(auto c: s){
            if(c == 'J'){
                mes = J(mes);
            }else if(c == 'C'){
                mes = C(mes);
            }else if(c == 'E'){
                mes = E(mes);
            }else if(c == 'A'){
                mes = A(mes);
            }else if(c == 'P'){
                mes = P(mes);
            }else{
                mes = M(mes);
            }
        }
        cout << mes << endl;
    }

    return 0;
}

