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.
s=input()
n=len(s);flag=False;flag_=False
for i in range(1,n):
    if s[i-1:i+1]=="AB" and not flag:
        fag=True
        if i>1 and s[i-2]=="B" :fag=False
        if i<n-1 and s[i+1]=="A":fag=False
        if fag:flag=True
    elif s[i-1:i+1]=="BA" and not flag_:
        fag=True
        if i>1 and s[i-2]=="A":fag=False
        if i<n-1 and s[i+1]=="A":fag=False
        if fag:flag_=True
if flag and flag_:print("YES")
else:print("NO")