gets.to_i.times do
  order = gets.chomp.split('')
  msg = gets.chomp.split('')
  len = msg.length
  order.reverse.each do |c|
    case c
    when 'J'
      msg.rotate!(-1)
    when 'C'
      msg.rotate!(1)
    when 'E'
      if len.even? then msg = msg[len/2..-1] + msg[0...len/2]
      else
        msg = msg[(len+1)/2..-1] + [msg[len/2]] + msg[0...len/2]
      end
    when 'A'
      msg.reverse!
    when 'P'
      msg.map!{ |a| a.to_i.to_s != a ? a : ((a.to_i + 9) % 10).to_s }
    when 'M'
      msg.map!{ |a| a.to_i.to_s != a ? a : ((a.to_i + 1) % 10).to_s }
    end
  end
  puts msg.join
end