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.
word = str(input())

abcount = word.count("AB")
bacount = word.count("BA")
abacount = word.count("ABA")

indices = []
abfound = False
bafound = False
if abcount > 0 and bacount > 0 and len(word) > 3:
    if abacount == 1 & bacount == 1 and abacount == 1:
            for i in range(len(word)):
                if not abfound:
                    try:
                        if word[i] + word[i+1] == "AB":
                            indices.append(i)
                            indices.append(i+1)
                            abfound = True   
                    except IndexError:
                        break;
                if not bafound:
                    try:
                        if word[i] + word[i+1] == "BA" and i not in indices and (i+1) not in indices:
                            indices.append(i)
                            indices.append(i+1)
                            bafound = True   
                    except IndexError:
                        break;
                if abfound and bafound:
                    break;
            if len(indices) >= 4:
                print("YES")
            else:
                print("NO")
    else:
        print("YES")
else:
    if abacount >= 2:
        print("YES")
    # elif abs((abcount+bacount) - abacount) > 1:
    #     print("YES")
    else:
        print("NO")