#include <bits/stdc++.h>
using namespace std;
const int MAX = 1000;
long long d[MAX + 10][3][3];
string s;
int n;
long long dyn() {
  if (s[1] == 0) d[1][0][0] = 1;
  d[1][0][2] = 1;
  if (s[0] == 0 && s[1] == 1) d[1][1][1] = 1;
  if (s[0] == 1) d[1][2][2] = 1;
  for (int i = 1; i <= n - 2; i++)
    for (int k = 0; k < 3; k++)
      for (int l = 0; l < 3; l++)
        for (int j = 0; j < 2; j++) {
          if (l == 0 || l == 1) {
            if (j == 0) {
              if (s[i + 1] == 0) d[i + 1][k][0] += d[i][k][l];
            } else {
              d[i + 1][k][2] += d[i][k][l];
            }
          } else if (l == 2) {
            if (j == 0) {
              if (s[i] == 0 && s[i + 1] == 1) d[i + 1][k][1] += d[i][k][l];
            } else {
              if (s[i] == 1) d[i + 1][k][2] += d[i][k][l];
            }
          }
        }
  long long sum = 0;
  for (int k = 0; k < 3; k++)
    for (int l = 0; l < 3; l++) {
      if (k == 0) {
        if (l == 2) {
          if (s[0] == 1 && s[n - 1] == 0) sum += d[n - 1][k][l];
        } else {
          if (s[0] == 0) sum += d[n - 1][k][l];
        }
      } else {
        if (l == 2) {
          if (s[n - 1] == 1) sum += d[n - 1][k][l];
        } else {
          sum += d[n - 1][k][l];
        }
      }
    }
  return sum;
}
int main() {
  cin >> s;
  n = (int)s.size();
  for (int i = 0; i < n; i++) {
    s[i] -= 'A';
    s[i] = !s[i];
  }
  cout << dyn() << endl;
  return 0;
}
