using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = long.Parse(ReadLine()); var ans = new List(); DFS(1, n, ans); WriteLine(string.Concat(ans)); } static bool DFS(long cur, long n, List ans) { if (cur * 2 + 1 > n) return false; if (cur * 2 + 1 == n) { ans.Add('A'); return true; } if (cur * 3 + 1 == n) { ans.Add('B'); return true; } if (cur * 2 + 1 < n) { ans.Add('A'); if (DFS(cur * 2 + 1, n, ans)) return true; ans.RemoveAt(ans.Count - 1); } if (cur * 3 + 1 < n) { ans.Add('B'); if (DFS(cur * 3 + 1, n, ans)) return true; ans.RemoveAt(ans.Count - 1); } return false; } }