#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  string x;
  string st;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> x;
    cin >> st;
    for (int j = x.size() - 1; j >= 0; j--) {
      if (x[j] == 'C') {
        char stock;
        stock = st[0];
        st.erase(st.begin());
        st += stock;
      } else if (x[j] == 'J') {
        char stock;
        stock = st[st.size() - 1];
        st.erase(st.size() - 1);
        st.insert(st.begin(), stock);
      } else if (x[j] == 'E') {
        string stock;
        int l = st.size() / 2;
        for (int k = 0; k < l; k++) {
          stock += st[k];
        }
        string stock2;
        int od = st.size() % 2;
        for (int k = l + od; k < l * 2 + od; k++) {
          stock2 += st[k];
        }
        char st3;
        if (od == 1) st3 += st[l];
        st = stock2 + st3 + stock;
      } else if (x[j] == 'A') {
        string stock;
        for (int k = 0; st.empty() != true; k++) {
          stock += st[0];
          st.erase(st.begin());
        }
        for (int k = stock.size() - 1; k >= 0; k--) {
          st += stock[k];
        }
      } else if (x[j] == 'M') {
        for (int k = 0; k < st.size(); k++) {
          if (st[k] >= '0' && st[k] < '9') {
            st[k]++;
          } else if (st[k] == '9') {
            st[k] == '0';
          }
        }
      } else if (x[j] == 'P') {
        for (int k = 0; k < st.size(); k++) {
          if (st[k] > '0' && st[k] <= '9') {
            st[k]--;
          } else if (st[k] == '0') {
            st[k] == '9';
          }
        }
      }
    }
    cout << st << endl;
  }
  return 0;
}
