def run_length(S): ret = [] now = None count = 0 N = len(S) for i in range(N): if(S[i] == now): count += 1 else: ret.append((now,count)) count = 1 now = S[i] ret.append((now,count)) return ret[1:] def decode(S): ret = [] for a,b in S: ret.append(a*b) return "".join(ret) T = int(input()) for _ in range(T): N = int(input()) S = list(input()) if(N <= 2): print("B"*N) continue if(S[0] == S[1] == "B"): print("".join(S)) continue rle = run_length(S) # Alice if(S[0] == "A" and S[1] == "B"): if(rle[1][1] == 1): ptr = 3 while(ptr < len(rle)): if(rle[ptr][1] >= 1): rle = rle[:ptr] + [("A",rle[ptr][1])] + rle[ptr+1:] break ptr += 2 else: rle = rle[:1] + [("B",1), ("A", rle[1][1]-1)] + rle[2:] elif(S[0] == "A" and S[1] == "A"): if(S[2] == "A"): rle = [("A",1), ("B",1), ("A", rle[0][1]-2)] + rle[1:] else: rle = [("A",1), ("B",1), ("A", rle[1][1])] + rle[2:] elif(S[0] == "B" and S[1] == "A"): if(S[2] == "A"): rle = [("A",1), ("B",1), ("A",rle[1][1]-1)] + rle[2:] else: rle = [("A",1), ("B",1), ("A",rle[2][1])] + rle[3:] rle = run_length(decode(rle)) # Bob ptr = 0 while(ptr < len(rle)): if(rle[ptr][0] == "A"): rle[ptr] = ("B", rle[ptr][1]) break ptr += 1 print(decode(rle))