using System; using System.Collections; using System.Collections.Generic; class TEST{ static void Main(){ Sol mySol =new Sol(); mySol.Solve(); } } class Sol{ public void Solve(){ //N<=1e18でもいけます gr=new Dictionary(); gr[1]=0; int ret=dfs(N); Console.WriteLine(ret==0?"B":"A"); } Dictionary gr; int dfs(long x){ if(gr.ContainsKey(x))return gr[x]; HashSet H=new HashSet(); if(x>1)H.Add( dfs(x/2)^dfs( (x+1)/2 )); if(x>2)H.Add( dfs(x/3)^dfs( (x+1)/3 )^dfs( (x+2)/3 )); int ret=0; while(H.Contains(ret))ret++; return gr[x]=ret; } long N; public Sol(){ N=rl(); } static String rs(){return Console.ReadLine();} static int ri(){return int.Parse(Console.ReadLine());} static long rl(){return long.Parse(Console.ReadLine());} static double rd(){return double.Parse(Console.ReadLine());} static String[] rsa(){return Console.ReadLine().Split(' ');} static int[] ria(){return Array.ConvertAll(Console.ReadLine().Split(' '),e=>int.Parse(e));} static long[] rla(){return Array.ConvertAll(Console.ReadLine().Split(' '),e=>long.Parse(e));} static double[] rda(){return Array.ConvertAll(Console.ReadLine().Split(' '),e=>double.Parse(e));} }