#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 7;
int main() {
  char s[N];
  int ab, ba;
  while (cin >> s) {
    ab = ba = -1;
    if (strlen(s) < 4) {
      puts("NO");
      continue;
    }
    for (int i = 0; i < strlen(s) - 1; i++) {
      if (s[i] == 'A' && s[i + 1] == 'B') {
        ab = i;
        break;
      }
    }
    for (int i = 0; i < strlen(s) - 1; i++) {
      if (s[i] == 'B' && s[i + 1] == 'A') {
        ba = i;
        break;
      }
    }
    if (ab < 0 || ba < 0) {
      puts("NO");
      continue;
    }
    if (abs(ab - ba) >= 2) {
      puts("YES");
      continue;
    }
    bool flag = false;
    if (ab > ba) {
      for (int i = ab + 1; i < strlen(s) - 1; i++) {
        if (s[i] == 'A' && s[i + 1] == 'B') {
          flag = true;
          break;
        }
      }
    } else {
      for (int i = ba + 1; i < strlen(s) - 1; i++) {
        if (s[i] == 'B' && s[i + 1] == 'A') {
          flag = true;
          break;
        }
      }
    }
    if (flag) {
      puts("YES");
    } else {
      ab = ba = -1;
      for (int i = 0; i < strlen(s) / 2; i++) {
        swap(s[i], s[strlen(s) - 1 - i]);
      }
      if (strlen(s) < 4) {
        puts("NO");
        continue;
      }
      for (int i = 0; i < strlen(s) - 1; i++) {
        if (s[i] == 'A' && s[i + 1] == 'B') {
          ab = i;
          break;
        }
      }
      for (int i = 0; i < strlen(s) - 1; i++) {
        if (s[i] == 'B' && s[i + 1] == 'A') {
          ba = i;
          break;
        }
      }
      if (ab < 0 || ba < 0) {
        puts("NO");
        continue;
      }
      if (abs(ab - ba) >= 2) {
        puts("YES");
        continue;
      }
      flag = false;
      if (ab > ba) {
        for (int i = ab + 1; i < strlen(s) - 1; i++) {
          if (s[i] == 'A' && s[i + 1] == 'B') {
            flag = true;
            break;
          }
        }
      } else {
        for (int i = ba + 1; i < strlen(s) - 1; i++) {
          if (s[i] == 'B' && s[i + 1] == 'A') {
            flag = true;
            break;
          }
        }
      }
      if (flag)
        puts("YES");
      else
        puts("NO");
    }
  }
  return 0;
}
