import os, sys import math, decimal, queue, heapq, bisect, itertools, functools, collections, string from bisect import bisect, bisect_left from collections import defaultdict, OrderedDict, deque, Counter from functools import cmp_to_key, lru_cache, reduce from heapq import heapify, heappush, heappushpop, heappop, heapreplace, nlargest, nsmallest from itertools import accumulate, chain, combinations, combinations_with_replacement, compress, count, cycle, dropwhile, filterfalse, groupby, islice, permutations, product, repeat, starmap, takewhile, tee, zip_longest from math import gcd, factorial, isqrt, comb, perm, prod, inf from queue import Queue, PriorityQueue, LifoQueue from string import ascii_letters, ascii_lowercase, ascii_uppercase, digits, hexdigits, octdigits LOCAL = sys.argv[0] if '4a' in sys.argv[0] else None P = lambda *p: [print(i) for i in p] if LOCAL else None PI = lambda *p: print(' '.join(map(str, p))) or None PII = lambda X: [PI(*row) for row in X] sys.stdin = open(os.path.join(os.getcwd(), 'a3.txt'), 'r') if LOCAL else sys.stdin I = lambda: [int(a) for l in sys.stdin for a in l.strip().split()] S = lambda: [a for l in sys.stdin for a in l.strip().split()] IM = lambda: [[int(a) for a in l.split()] for l in sys.stdin] SM = lambda: [[a for a in l.split()] for l in sys.stdin] az, AZ, mod = ascii_lowercase, ascii_uppercase, 1_000_000_007 A = I() P(A) def solution(A): def sol(x, y, res=''): if x < 3: return res if x >= 3 and (x - 1) % 2 == 0: x -= 1 x //= 2 res += 'A' if x >= 4 and (x - 1) % 3 == 0: x -= 1 x //= 3 res += 'B' # try: return sol(x, y, res) # except: # return '' x, y = A[0], A[0] ans = sol(x, y, '') print(ans[::-1]) solution(A)