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
import sys

def solve():
    d = sys.stdin.read().split()
    if not d: return
    
    t = int(d[0])
    queries = [(int(d[i]), int(d[i+1])) for i in range(1, 2 * t, 2)]
    
    max_tm = max([n - k for n, k in queries if k >= 4] + [0])
    
    B = "A"
    tr = str.maketrans("AP", "PA")
    while len(B) <= max_tm:
        B += B.translate(tr)
    B = B[1:]
    
    small = {1: "AP", 2: "AAPP", 3: "AAAPAPPP"}
    
    for n, k in queries:
        if k < 4:
            s = small[k]
            print(s[:n] if n <= len(s) else "NIE")
        else:
            print("A" * k + B[:n-k])

if __name__ == '__main__':
    solve()