#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int n;
  cin >> n;
  for (int i = 0; i < (int)(n); i++) {
    string order, msg;
    cin >> order >> msg;
    for (int j = 0; j < (int)(order.size()); j++) {
      switch (order[j]) {
        case 'J':
          msg = msg.substr(1) + msg[0];
          break;
        case 'C':
          msg = msg[msg.size() - 1] + msg.substr(0, msg.size() - 1);
          break;
        case 'E':
          if (msg.size() % 2) {
            string s1 = msg.substr(0, msg.size() / 2);
            string s2 = msg.substr(msg.size() / 2 + 1);
            msg = s2 + msg[msg.size() / 2] + s1;
          } else {
            string s1 = msg.substr(0, msg.size() / 2);
            string s2 = msg.substr(msg.size() / 2);
            msg = s2 + s1;
          }
          break;
        case 'A':
          reverse((msg).begin(), (msg).end());
          break;
        case 'P':
          for (char &c : msg) {
            if ('0' <= c && c <= '9') {
              c = (c == '9' ? '0' : c + 1);
            }
          }
          break;
        case 'M':
          for (char &c : msg) {
            if ('0' <= c && c <= '9') {
              c = (c == '0' ? '9' : c - 1);
            }
          }
          break;
        default:
          break;
      }
    }
    cout << msg << endl;
  }
  return 0;
}
