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(){
		int[] gr=new int[N+1];
		gr[1]=0;
		for(int i=2;i<=N;i++){
			HashSet<int> H=new HashSet<int>();
			if(i%2==0){
				H.Add(gr[i/2]^gr[i/2]);
			}else{
				H.Add(gr[i/2]^gr[1+i/2]);
			}
			if(i>=3){
				if(i%3==0){
					H.Add(gr[i/3]^gr[i/3]^gr[i/3]);
				}else if(i%3==1){
					H.Add(gr[1+i/3]^gr[i/3]^gr[i/3]);
				}else{
					H.Add(gr[1+i/3]^gr[1+i/3]^gr[i/3]);
				}
			}
		
			for(int j=0;j<=N;j++){
				if(!H.Contains(j)){
					gr[i]=j;
					break;
				}
			}
		}
		Console.WriteLine(gr[N]==0?"B":"A");
		
		
		
	}
	int N;
	public Sol(){
		N=ri();
	}




	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));}
}