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.
string = input()

ans = []
count = 0
i = 1 
sett =set()

for i in range(1,len(string)):
    if (string[i-1] == "A" and string[i] == "B") or (string[i-1] == "B" and string[i] == "A"):
        ans.append([string[i-1]+string[i],i-1,i])

# print(ans)
x =True

result = "NO"
a,b= -1,-1
for i in ans:
    if i[0]=="AB":
        a,b = i[1],i[2]
        break
    
for i in ans:
    if i[0]=="BA":
        if i[1]!=b and i[2]!=a and a!=-1 and b!=-1:
            result = "YES"
            break
a,b = -1,-1


for i in ans:
    if i[0]=="BA":
        a,b = i[1],i[2]
    
for i in ans:
    if i[0]=="AB":
       if i[1]!=b and i[2]!=a and a!=-1 and b!=-1:
            result = "YES"

print(result)

