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: 03.08.2023 00:01:16
    ### Adham was here ###
 
     █████  ██████  ██   ██  █████  ███    ███
    ██   ██ ██   ██ ██   ██ ██   ██ ████  ████
    ███████ ██   ██ ███████ ███████ ██ ████ ██
    ██   ██ ██   ██ ██   ██ ██   ██ ██  ██  ██ 
    ██   ██ ██████  ██   ██ ██   ██ ██      ██
"""

s = input()

l1 = float('inf') ; r1 = -100
l2 = float('inf') ; r2 = -100

i = 0
while i < len(s) - 1:
    if s[i] == 'A' and s[i + 1] == 'B':
        l1 = min(l1, i)
        r1 = max(r1, i)
    elif s[i] == 'B' and s[i + 1] == 'A':
        l2 = min(l2, i)
        r2 = max(r2, i)
    i += 1
    
r1 -= 1
r2 -= 1

if r1 > l2 or r2 > l1:
    print('YES')
else:
    print('NO')