#include <iostream>
#include <string>

using namespace std;

bool kind_a(string str){
	
	if(str[0] != '>' || str[1] != '\'' || str[str.size()-1] != '~'){
		return false;
	}
	
	string su = str.substr(2, str.size()-3);
	
	if(su.size()<3)
		return false;
	
	for(int i=0; i<su.size(); ++i){
		
		int j = su.size()-1-i;
		
		if(i>=j)
			break;
			
		if(su[i]!='=' || su[i]!=su[j]){
			return false;
		}	
	}
	
	return su[(su.size()-1)/2]=='#';
}

bool kind_b(string str){
		
	if(str[0] != '>'  || str[1] != '^' || 
		str[str.size()-2] != '~' || str[str.size()-1] != '~'){
		return false;
	}
	
	string su = str.substr(2, str.size()-4);
	
	if(su.size()<2)
		return false;
	
	for(int i=0; i<su.size(); ++i){
		
		int j = su.size()-1-i;
		
		if(i>=j)
			break;
			
		if( !(su[i]=='Q' && su[j]=='=' || su[j]=='Q' && su[i]=='=') ){
			return false;
		}
	}
	
	return true;
}

string solve(string str){
	
	if(kind_a(str)){
		return "A";
	}
	else if(kind_b(str)){
		return "B";
	}
	else{
		return "NA";
	}
}


int main(){

	int n;
	cin>>n;
	
	while(n--){
		
		string str;
		cin>>str;
		cout << solve(str) << endl;
	}
	
	return 0;
}