#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200;
char st[MAXN];
long long f[MAXN][2][2], ans = 0;
int n, i, j, k, l, h, t, a[MAXN];
bool b[2][2][2][2];
int main() {
  scanf("%s", st);
  n = strlen(st);
  for (i = 0; i < n; i++) a[i + 1] = (int)st[i] - 65;
  memset(b, false, sizeof(b));
  for (i = 0; i <= 1; i++)
    for (j = 0; j <= 1; j++) b[i][j][i][j] = true;
  b[0][1][0][1] = false;
  b[0][0][1][0] = true;
  b[0][1][1][1] = true;
  b[0][1][1][0] = true;
  b[0][1][0][0] = true;
  b[1][0][0][1] = true;
  b[1][1][1][0] = true;
  for (h = 0; h <= 1; h++) {
    memset(f, 0, sizeof(f));
    for (j = 0; j <= 1; j++) f[2][h][j] = (int)b[a[1]][a[2]][h][j];
    for (i = 3; i <= n; i++)
      for (j = 0; j <= 1; j++)
        for (k = 0; k <= 1; k++)
          for (l = 0; l <= 1; l++)
            if (b[a[i - 1]][a[i]][j][k]) f[i][j][k] += f[i - 1][l][j];
    for (i = 0; i <= 1; i++)
      for (j = 0; j <= 1; j++)
        if (b[a[n]][a[1]][j][h]) ans += f[n][i][j];
  }
  cout << ans << endl;
  return 0;
}
