#include <bits/stdc++.h>
using namespace std;
void conv(string &S, char c){
  if (c == 'J'){
    S = S.back() + S.substr(0, S.size() - 1);
  }
  if (c == 'C'){
    S =  S.substr(1) + S[0];
  }
  if (c == 'E'){
    if (S.size() % 2 == 0){
      S = S.substr(S.size() / 2) + S.substr(0, S.size() / 2);
    } else {
      S = S.substr(S.size() / 2 + 1) + S[S.size() / 2] + S.substr(0, S.size() / 2);
    }
  }
  if (c == 'A'){
    reverse(S.begin(), S.end());
  }
  if (c == 'P'){
    for (int i = 0; i < S.size(); i++){
      if (S[i] == '0'){
        S[i] = '9';
      } else if ('1' <= S[i] && S[i] <= '9'){
        S[i]--;
      }
    }
  }
  if (c == 'M'){
    for (int i = 0; i < S.size(); i++){
      if (S[i] == '9'){
        S[i] = '0';
      } else if ('0' <= S[i] && S[i] <= '8'){
        S[i]++;
      }
    }
  }
}
int main(){
  int n;
  cin >> n;
  for (int i = 0; i < n; i++){
    string S;
    cin >> S;
    string T;
    cin >> T;
    int m = S.size();
    for (int j = m - 1; j >= 0; j--){
      conv(T, S[j]);
    }
    cout << T << endl;
  }
}
