#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) for(int i=0;i<(n);i++)
using namespace std;

int main()
{
  int n;
  cin >> n;
  REP(i,n){
    string o, m;
    cin >> o >> m;
    reverse(o.begin(), o.end());
    REP(j,(int)o.size()){
      if(o[j] == 'J'){
        m = m[m.size()-1] + m.substr(0,m.size()-1);
      }else if(o[j] == 'C'){
        m = m.substr(1,m.size()-1) + m[0];
      }else if(o[j] == 'E'){
        int x = m.size()/2;
        if(m.size() & 1)
          m = m.substr(x+1,x) + m[x] + m.substr(0,x);
        else
          m = m.substr(x,x) + m.substr(0,x);
      }else if(o[j] == 'A'){
        reverse(m.begin(), m.end());
      }else if(o[j] == 'P'){
        REP(k,(int)m.size()){
          if(isdigit(m[k])){
            m[k]--;
            if(!isdigit(m[k]))
              m[k] = '9';
          }
        }
      }else if(o[j] == 'M'){
        REP(k,(int)m.size()){
          if(isdigit(m[k])){
            m[k]++;
            if(!isdigit(m[k]))
              m[k] = '0';
          }
        }
      }
    }
    cout << m << endl;
  }
}