#include <bits/stdc++.h>
using namespace std;
int n;
string want;
long long F[1001][3];
long long f(int cur, char last) {
  if (cur > n) return 1;
  long long &ret = F[cur][last - 'A'];
  if (ret != -1) return ret;
  ret = 0;
  if (want[cur] == 'A') ret += f(cur + 1, 'A');
  if (want[cur] == 'B' && last != 'A') ret += f(cur + 1, 'B');
  if (cur < n && want[cur] == 'B' && want[cur + 1] == 'A')
    ret += f(cur + 2, 'C');
  return ret;
}
long long solve(string s) {
  want = s;
  n = s.length();
  want = " " + want;
  memset(F, 0xff, sizeof(F));
  long long ret = f(1, 'C');
  return ret;
}
int MAIN() {
  string s;
  while (cin >> s) {
    long long ret = 0;
    ret += solve(s);
    if (s[0] == 'A' && s[s.length() - 1] == 'B') {
      string t;
      for (int i = 1; i < s.length() - 1; i++) t += s[i];
      ret += solve(t);
    }
    if (s[0] == 'B' && s[s.length() - 1] == 'A') {
      string t;
      for (int i = 1; i < s.length() - 1; i++) t += s[i];
      ret -= solve(t);
    }
    cout << ret << endl;
  }
  return 0;
  ;
}
int main() {
  ios ::sync_with_stdio(false);
  cout << fixed << setprecision(16);
  return MAIN();
}
