#include <iostream>

using namespace std;

bool chk_a(const string s)
{
    bool c = true;
    int f, b;

    f = b = 0;
    for (int i = 0; i < s.size(); i++) {
        if (s[i] != '=' && s[i] != '#') 
            return false;
        if (c && s[i] == '#') 
            c = false;
        else if (s[i] == '=' && c)
            f++;
        else
            b++;
    }

    return (f == b) ? true : false;
}

bool chk_b(const string s)
{
    for (int i = 0; i < s.size(); i += 2) 
        if (s[i] != 'Q' || s[i + 1] != '=')
            return false;

    return true;
}

int main()
{
    int n;

    cin >> n;
    while (n--) {
        string inp;
        bool flag = false;

        cin >> inp;
        if (inp.size() >= 5 && inp[0] == '>' && inp[inp.size() - 1] == '~') {
            if (inp[1] == '\'') {  // Aの判定
                if (chk_a(inp.substr(2, inp.size() - 3))) {
                    cout << "A" << endl;
                    flag = true;
                }
            }
            else if (inp.size() >= 6 && inp[1] == '^' 
                     && inp[inp.size() - 2] == '~') {  // Bの判定
                if (chk_b(inp.substr(2, inp.size() - 4))) {
                    cout << "B" << endl;
                    flag = true;
                }
            }
        }

        if (!flag)
            cout << "NA" << endl;
    }

    return 0;
}