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.
"""
    author:  Adham0      
    created: 02.08.2023 23:02:35
    ### Adham was here ###
 
     █████  ██████  ██   ██  █████  ███    ███
    ██   ██ ██   ██ ██   ██ ██   ██ ████  ████
    ███████ ██   ██ ███████ ███████ ██ ████ ██
    ██   ██ ██   ██ ██   ██ ██   ██ ██  ██  ██ 
    ██   ██ ██████  ██   ██ ██   ██ ██      ██
"""

s = input()

count = 0

i = 0
while i < len(s):
    if s[i:i + 2] == 'AB' or s[i:i + 2] == 'BA':
        if s[i] == 'A':
            t = 'A'
        else:
            t = 'B'
            
        count += 1
        i += 2
        break
    i += 1

while i < len(s):
    if ((s[i:i + 2] == 'BA' and t == 'A') or (s[i:i + 2] == 'AB' and t == 'B')):
        count += 1
        break
    i += 1

if count == 2:
    print("YES")
else:
    print("NO")