You are given string *s*. Your task is to determine if the given string *s* contains two non-overlapping substrings "AB" and "BA" (the substrings can go in any order).
The only line of input contains a string *s* of length between 1 and 10<sup class="upper-index">5</sup> consisting of uppercase Latin letters.
# import sys, os
# sys.stdin = open(os.path.join(sys.path[0], "input.txt"), "r")
# sys.stdout = open(os.path.join(sys.path[0], "output.txt"), "w")

string = input()
first_index = string.find("AB")
ab_index_min, ab_index_max, ba_index_min, ba_index_max = len(string), -1, len(string), -1 
for i in range(0, len(string) - 1):
    if(string[i] + string[i + 1] == "AB"):
        ab_index_min = min(ab_index_min ,i)
        ab_index_max = max(ab_index_max, i)
    if(string[i] + string[i + 1] == "BA"):
        ba_index_min = min(ba_index_min ,i)
        ba_index_max = max(ba_index_max, i)
if(ab_index_max > ba_index_min or ba_index_max > ab_index_min):
    print("YES")
else:
    print("NO")
    








        







    


