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.
s = input()
f = False
if "ABABA" in s or "BABAB" in s:
    f = True
elif "ABAB" in s or "BABA" in s:
    if "ABAB" in s:
        c1 = s.find("ABAB")
        s = s[0:c1] + s[c1 + 4:]
        if "BA" in s or "AB" in s:
            f = True
    elif "BABA" in s:
        c1 = s.find("ABAB")
        s = s[0:c1] + s[c1 + 4:]
        if "BA" in s or "AB":
            f = True
elif "ABA" in s or "BAB" in s:
    if "ABA" in s:
        c1 = s.find("ABA")
        s = s[0:c1] + s[c1 + 3:]
        if "BA" in s or "AB" in s:
            f = True
    elif "BAB" in s:
        c1 = s.find("BAB")
        s = s[0:c1] + s[c1 + 3:]
        if "BA" in s or "AB":
            f = True
elif "AB" in s or "BA" in s:
    if "AB" in s:
        c1 = s.find("AB")
        s = s[0:c1] + s[c1 + 2:]
        if "BA" in s:
            f = True
    elif "BA" in s:
        c1 = s.find("BA")
        s = s[0:c1] + s[c1 + 2:]
        if "AB" in s or "AB":
            f = True
if f == True:
    print("Yes")
else:
    print("NO")