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

# Check if "AB" and "BA" exist in the string
ab_found = s.find("AB")
ba_found = s.find("BA")

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

    # Check if both substrings exist and their positions are not adjacent
    if ab_found != -1 and ba_found != -1 and abs(ab_found - ba_found) > 1:
        print("YES")
    else:
        print("NO")
