#include <bits/stdc++.h>
using namespace std;
long long A[55], B[55];
void Init() {
  A[0] = 1;
  B[0] = 0;
  A[1] = 2;
  B[1] = 1;
  A[2] = 3;
  B[2] = 3;
  for (int i = 3; i <= 50; i++) {
    A[i] = A[i - 1] + A[i - 2];
    B[i] = A[i - 3] + A[i - 1];
  }
}
long long fun(string str) {
  long long res = 1;
  int len = str.length();
  int ba = 0;
  char start = 0;
  for (int i = 0; i < len; i++) {
    switch (str[i]) {
      case 'B':
        if (str[(i + 1) % len] == 'A') {
          if (ba == 0) start = str[(i - 1 + len) % len];
          ba++;
          i++;
        } else {
          if (start == 'A') ba--, start = 0;
          if (ba > 0) ba--;
          res *= A[ba];
          ba = 0;
        }
        break;
      case 'A':
        if (str[(i + 1) % len] == 'B' && str[(i + 2) % len] == 'B') return 0;
        if (start == 'A') ba--, start = 0;
        res *= A[ba];
        ba = 0;
    }
  }
  if (start == 'A') ba--, start = 0;
  res *= A[ba];
  return res;
}
int main() {
  string str, tmp;
  Init();
  while (cin >> str) {
    int len = str.length();
    tmp = str + str;
    int i = 0;
    for (i = 0; i < len; i++) {
      if (tmp[i] == tmp[i + len - 1]) {
        str = string(tmp, i, len);
        break;
      }
    }
    if (i == len) {
      cout << B[len / 2] << endl;
      continue;
    }
    long long ans = fun(str);
    cout << ans << endl;
  }
  return 0;
}
