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.
def contains_ab_and_ba(s):
    ab_index = s.find("AB")
    ba_index = s.find("BA")
    if ab_index == -1 or ba_index == -1:
        return "NO"
    if ab_index < ba_index and s[ab_index + 2:ba_index] == "BA":
        return "YES"
    elif ba_index < ab_index and s[ba_index + 2:ab_index] == "AB":
        return "YES"
    else:
        return "NO"