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.
def helper(s):
    d=defaultdict(lambda:False)
    for i in range(len(s)-1):
        if s[i]=='A' and s[i+1]=='B':
            d[i]=True
    
    for i in range(len(s)-1):
        if s[i]=='B' and s[i+1]=='A':
            if d[i+1]==False and d[i-1]==False:return "YES"
    return "NO"
    
    
import sys
input=sys.stdin.readline
from collections import defaultdict
s=input().rstrip()
print(helper(s))