N,K = map(int,input().split()) dp = [[0]*4 for _ in range(max(N,21)+1)] dp[0][0] = 1 for i in range(min(N,21)): dp[i+1][0] = dp[i][0] dp[i+1][1] = dp[i][0] + dp[i][1] + dp[i][2] dp[i+1][2] = dp[i][1] dp[i+1][3] = dp[i][2] + 2*dp[i][3] S = "" count_MMA = 0 # S 以下で"MMA"を含まないやつ flag = False for i in range(N): if N-i-1 <= 20: count_MMA_diff = 2**(N-i-1) if flag or (len(S) >= 2 and S[-2:] == "MM") else dp[N-i-1][3] count = count_MMA + count_MMA_diff #print(S + "A" +"M"*(N-i-1),count) if count >= K: flag |= len(S) >= 2 and S[-2:] == "MM" S += "A" else: count_MMA += count_MMA_diff S += "M" else: S += "A" print(S)