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

bool isA(const string& s){
	if( s.size() >= 1 && s[0] != '>' ) return false;
	if( s.size() >= 2 && s[1] != '\'' ) return false;
	
	int cnt1 = 0, cnt2 = 0;
	for(int i=2, j=0 ; i < s.size()-1 ; i++ ){
		if( s[i] == '=' ){
			j? cnt1++ : cnt2++;
		}else if( s[i] == '#' ){
			j++;
		}else{
			return false;
		}
	}
	if( cnt1 == 0 || cnt2 == 0 || cnt1 != cnt2 || s[s.size()-1] != '~' ){
		return false;
	}
	return true;
}

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

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