1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <bits/stdc++.h>
using namespace std;

bool palindrom(string s){
    for(int i=0;i<s.size();i++){
        if(s[i] != s[s.size()-i-1]) return false;
    }
    return true;
}

int check(int mask,int n){
    string s;
    for(int i=0;i<n;i++){
        s += ((1<<i) & mask? "P": "A");
    }
    reverse(s.begin(),s.end());
    int ans=0;
    for(int i=0;i<n;i++){
        for(int j=i;j<n;j++){
            ans = max(ans, (j-i+1) * palindrom(s.substr(i,j-i+1)));
        }
    }
    return ans;
}

int main(){
    ios_base::sync_with_stdio(0);
    int t; cin >> t;
    while(t--){
        int n,k; cin >> n >> k;
        if(n<13){
            string res = "";
            for(int mask=1;mask<(1<<n);mask++){
                if(check(mask,n) == k){
                    for(int i=0;i<n;i++){
                        res += ((1<<i) & mask? "P": "A");
                    }
                    reverse(res.begin(),res.end());
                    break;
                }
            }
            if(res.empty()) res = "NIE";
            cout << res << "\n";
        }
        else{
            if(k<4) cout << "NIE\n";
            else{
                for(int i=1;i<=k;i++) cout << "A";
                string s = "PAPPAA";
                for(int i=0;i<n-k;i++){
                    cout << s[i%6];
                }
                cout << '\n';
            }
        }
    }
}