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 numI(): return int(input())
def numII(): return list(input())
def numIII(): return list(map(int, input().split(' ')))
def strInp(): return input()
def strInpI(): return list(input())



def solve():
    inp = strInp()
    stat = "NO"
    if "AB" in inp:
        ans=inp.find("AB")
        if (inp.find("BA",ans+2) != -1):
            stat = "YES"
            return
    if "BA" in inp:
        ans=inp.find("BA")
        if (inp.find("AB",ans+2) != -1):
            stat = "YES"
    print(stat)

solve()