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

input = lambda:sys.stdin.readline().rstrip("\r\n")

def I(): return input()
def II(): return int(input())
def MII(): return map(int, input().split())
def LI(): return list(input().split())
def LII(): return list(map(int, input().split()))

inf = float("inf")
mod = 10**9 + 7
# for _ in range(II()):
s = I()
ma = set()
mb = set()
for i, x in enumerate(s):
    if x == 'A' and i < len(s) - 1 and s[i+1] == 'B':
        ma.add(i)
    elif x == 'B' and i < len(s) - 1 and s[i+1] == 'A':
        mb.add(i)
for pos in mb:
    if pos - 1 not in ma:
        print("YES")
        exit()
print("NO")