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.
IN = lambda type = int:list(map(type, input().split()))

s = input().lower()
if ("ab" not in s) and ("ba" not in s): print("NO")
else:
    for x in range(len(s)):
        if s[x:x+2] == "ab": s = s[:x] + "11" + s[x+2:]
    for x in range(len(s)):
        if s[x:x+2] == "ba" or s[x:x+2] == "b1" or s[x:x+2] == "1a": s = s[:x] + "22" + s[x+2:]    
    
    print("YNEOS"[ ("11" not in s) or ("22" not in s) : : 2])