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

def solve(sub_input):
    AB = []
    BA = []
    for i in range(len(sub_input) - 1):
        if sub_input[i: i + 2] == 'AB':
            AB.append([i, i + 1])
        elif sub_input[i: i + 2] == 'BA':
            BA.append([i, i + 1])
    if len(AB) == 0 or len(BA) == 0:
        return 'NO'
    flag = False
    for ab in AB:
        for ba in BA:
            if ab[1] < ba[0] or ab[0] > ba[1]:
                return 'YES'
    return 'NO'

print(solve(string))