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()


    isExists:list[bool] = []
    for charL, charR in (("A", "B"), ("B", "A")) :
        isExist:bool = False

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

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


    print(["NO", "YES"][any(isExists)])

main()