#include<iostream>
#include<cstdio>
#include<algorithm>
#include<climits>
#include<string>
#include<vector>
#include<list>
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<cstring>
#include<stack>
#include<functional>
using namespace std;

bool isA(string s){
	int n = 0;
	if(s.at(n)!='>' || s.at(++n)!='\'' ||s.at(++n)!='=') return false;
	int cnt = 1;
	for(;s.at(++n)=='='; cnt++);
	if(s.at(n)!='#') return false;
	for(int i=0; i<cnt; i++){
		if(s.at(++n)!='=') return false;
	}
	if(s.at(++n)!='~' || s.size()>n+1) return false;
	return true;
}

bool isB(string s){
	int n = 0;
	if(s.at(n)!='>' || s.at(++n)!='^' || s.at(++n)!='Q' || s.at(++n)!='=') return false;
	while(true){
		if(s.at(++n)=='Q'){
			if(s.at(++n)!='=') return false;
		}
		else break;
	}
	if(s.at(n)!='~' || s.at(++n)!='~' || s.size()>n+1) return false;
	return true;
}

int main(){
	string S;
	int N;
	cin>>N;
	for(int i=0;i<N;i++){
		cin>>S;
		if(isA(S)) puts("A");
		else if(isB(S)) puts("B");
		else puts("NA");
	}
	return 0;
}