#include <bits/stdc++.h>
const int INF = 100000000;
using namespace std;
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < (n); i++) {
    list<char> li;
    list<char>::iterator it;
    string order, s, temp;
    cin >> temp >> s;
    for (int j = 0; j < (s.size()); j++) li.emplace_back(s[j]);
    for (int j = temp.size() - 1; j >= 0; j--) order += temp[j];
    for (int j = 0; j < (order.size()); j++) {
      if (order[j] == 'C') {
        li.emplace_back(*li.begin());
        li.pop_front();
      } else if (order[j] == 'J') {
        li.emplace_front(*(--li.end()));
        li.pop_back();
      } else if (order[j] == 'E') {
        int m = li.size();
        for (int k = 0; k < (m / 2); k++) {
          li.emplace_back(*li.begin());
          li.pop_front();
        }
        if (m % 2) {
          it = li.begin();
          for (int k = 0; k < (m / 2 + 1); k++) *it++;
          li.insert(it, *li.begin());
          li.pop_front();
        }
      } else if (order[j] == 'A') {
        li.reverse();
      } else if (order[j] == 'M') {
        for (it = li.begin(); it != li.end(); it++) {
          if (*it >= '0' && *it <= '8')
            *it = *it + 1;
          else if (*it == '9')
            *it = '0';
        }
      } else if (order[j] == 'P') {
        for (it = li.begin(); it != li.end(); it++) {
          if (*it >= '1' && *it <= '9')
            *it = *it - 1;
          else if (*it == '0')
            *it = '9';
        }
      }
    }
    for (auto t : li) {
      cout << t;
    }
    cout << endl;
  }
}
