# n=3
# s = [f"{bin(i)[2:]:0{n}}" for i in range(2**n)]
# print(s)
def pn(w):
n = len(w)
m = 0
for i in range(n):
for j in range(i+1,n+1):
v = w[i:j]
if v==v[::-1]:
if len(v)>m:
#print(v)
m = len(v)
return m
def solve(n,k):
R = {1:['A'],2:['AP','AA'],3:['','AAP','AAA'],4:['','AAPP','AAAP'],
5:['','','AAAPP'],6:['','','AAAPPP'],7:['','','AAAPAPP'],8:['','','AAAPAPPP']
}
if k<4 and n<9:
return 'NIE' if R[n][k-1]=='' else R[n][k-1]
if k<4:
return 'NIE'
return 'A'*k+'PAPPAA'*((n-k)//6)+'PAPPAA'[:(n-k)%6]
for _ in range(int(input())):
n,k = map(int,input().split())
print(solve(n,k))
# print(pn(p[8][2]))
# s = '00'+'001011'
# for i in range(len(s)):
# print(pn(s[i:]))
# from random import randint
# for n in range(1,10):
# for k in range(1,n+1):
# s = solve(n,k)
# print(n,k,s,s=='NIE' or pn(s)==k and len(s)==n)
# from math import log2
# for n in range(1,11):
# mi = 100000000
# print(n)
# s = [f"{i:0{n}b}" for i in range(2**n)]
# #print(s)
# for i in s:
# p = pn(i)
# if p<mi:
# mi = p
# d = int(i,2)
# print(f"{p:02}",i,d,d-2**int(log2(d)) if d>0 else 0)
# n = 25
# mi = 10000
# for _ in range(100000):
# s = ''.join('AP'[randint(0,1)] for i in range(n))
# mi = min(pn(s),mi)
# print(mi)
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 58 59 60 61 62 63 64 65 66 67 68 | # n=3 # s = [f"{bin(i)[2:]:0{n}}" for i in range(2**n)] # print(s) def pn(w): n = len(w) m = 0 for i in range(n): for j in range(i+1,n+1): v = w[i:j] if v==v[::-1]: if len(v)>m: #print(v) m = len(v) return m def solve(n,k): R = {1:['A'],2:['AP','AA'],3:['','AAP','AAA'],4:['','AAPP','AAAP'], 5:['','','AAAPP'],6:['','','AAAPPP'],7:['','','AAAPAPP'],8:['','','AAAPAPPP'] } if k<4 and n<9: return 'NIE' if R[n][k-1]=='' else R[n][k-1] if k<4: return 'NIE' return 'A'*k+'PAPPAA'*((n-k)//6)+'PAPPAA'[:(n-k)%6] for _ in range(int(input())): n,k = map(int,input().split()) print(solve(n,k)) # print(pn(p[8][2])) # s = '00'+'001011' # for i in range(len(s)): # print(pn(s[i:])) # from random import randint # for n in range(1,10): # for k in range(1,n+1): # s = solve(n,k) # print(n,k,s,s=='NIE' or pn(s)==k and len(s)==n) # from math import log2 # for n in range(1,11): # mi = 100000000 # print(n) # s = [f"{i:0{n}b}" for i in range(2**n)] # #print(s) # for i in s: # p = pn(i) # if p<mi: # mi = p # d = int(i,2) # print(f"{p:02}",i,d,d-2**int(log2(d)) if d>0 else 0) # n = 25 # mi = 10000 # for _ in range(100000): # s = ''.join('AP'[randint(0,1)] for i in range(n)) # mi = min(pn(s),mi) # print(mi) |
English