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 = sys.stdin.readline

def main() -> None :
    STRING:str = input().rstrip()


    leftABIndex, rightBAIndex = -1, -1
    for i in range(0, len(STRING)-1) :
        if (STRING[i] == "A") and (STRING[i+1] == "B") :
            leftABIndex = i
            break
    for i in range(len(STRING)-1, 0, -1) :
        if (STRING[i] == "A") and (STRING[i-1] == "B") :
            rightBAIndex = i-1
            break

    isExist:bool = False
    if leftABIndex==-1 or rightBAIndex==-1 : isExist = False
    else : isExist = abs(leftABIndex-rightBAIndex)>=2


    print(["NO", "YES"][isExist])

main()