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.
from collections import defaultdict


strings = input()
n = len(strings)
dictt = defaultdict(int)
i = 0
j = 0
while i < n - 2:
    if strings[i:i+2] == "AB":
        j = i + 2
        break;
    else:
        i += 1
flag = False
m = n 
while m >= j:
    if reversed(strings[m-2:m]) == "BA":
        flag = True
        break;
    else:
        m -= 1
if flag :
    print("YES")
else: 
    print("NO")