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

ab_index = s.find("AB")  # Find the index of the first occurrence of "AB"
ba_index = s.find("BA")  # Find the index of the first occurrence of "BA"

# Check if both "AB" and "BA" exist and their positions are not adjacent
if ab_index != -1 and ba_index != -1 and abs(ab_index - ba_index) > 1:
    print("YES")
else:
    # Swap the substrings and check again
    ab_index = s.find("BA", ba_index + 2)  # Look for "BA" after the initial "BA" occurrence
    ba_index = s.find("AB", ab_index + 2)  # Look for "AB" after the swapped "BA" occurrence

    # Check if both "AB" and "BA" exist and their positions are not adjacent
    if ab_index != -1 and ba_index != -1 and abs(ab_index - ba_index) > 1:
        print("YES")
    else:
        print("NO")
