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.
def ab(word: str) -> bool:
    return len(word)>1 and "AB" in word
def ba(word: str) -> bool:
    return len(word)>1 and "BA" in word

s = input()
try:
    abi = s.index("AB")
    bai = s.index("BA")
except:
    print("NO")
    exit()

if len(s) < 4:
    print("NO")
    exit()

if abs(abi-bai) == 1:
    if ba(s[:abi]) or ba(s[abi+2:]) or ab(s[:bai]) or ab(s[bai+2:]):
        print("YES")
    else:
        print("NO")
else:
    print("YES")
