#include <iostream>
#include <algorithm>
using namespace std;

bool isA(const string &s) {
  if(s.size() < 6) return false;
  if(s.substr(0,2) != ">'") return false;
  if(*(s.rbegin()) != '~') return false;
  string t = s.substr(2, (int)s.size()-3);
  int m = t.find("#");
  if(m == string::npos) return false;
  if(t.substr(0,m) != string(m, '=')) return false;
  if(t.substr(m+1) != string(m, '=')) return false;
  return true;
}

bool isB(const string &s) {
  if(s.size() < 6) return false;
  if(s.substr(0,2) != ">^") return false;
  if(s.substr((int)s.size()-2) != "~~") return false;
  string t = s.substr(2, (int)s.size()-4);
  if(t.size()&1) return false;
  for(int i = 0; i < t.size(); i += 2) {
    if(t[i] != 'Q' || t[i+1] != '=') return false;
  }
  return true;
}

int main() {
  int n;
  cin >> n;
  while(n--) {
    string s;
    cin >> s;
    if(isA(s)) cout << "A" << endl;
    else if(isB(s)) cout << "B" << endl;
    else cout << "NA" << endl;
  }
  return 0;
}