from heapq import heappush, heappop, heapify
from collections import defaultdict, deque,Counter
from math import ceil, floor, sqrt, factorial,gcd,cos,sin,pi
from itertools import permutations, combinations,product
from bisect import bisect_left, bisect_right
from copy import deepcopy
from fractions import Fraction
from random import randint
import sys
from functools import cache,lru_cache #@lru_cache(maxsize=None)
from time import time
#from sortedcontainers import SortedList # type: ignore
#sys.setrecursionlimit(10**6)
vector1 = [[0, -1], [1, 0], [0, 1], [-1, 0]]
vector2 = [[0, 1], [1, 0], [-1, 0], [0, -1],
           [1,-1], [-1, 1], [1, 1], [-1, -1]]
alphabet = "abcdefghijklmnopqrstuvwxyz"




def main():
    
    N = int(input())
    q = deque()
    q.append([N,""])
    
    while q:
        x,s = q.popleft()
        if x == 1:
            print(s[::-1])
        else:
            if (x - 1)%2 == 0:
                q.append([(x-1)//2,s + "A"])
            if (x - 1)%3 == 0:
                q.append([(x-1)//3,s + "B"])    
    
    

if __name__ == '__main__':
    main()