#include <bits/stdc++.h>
using namespace std;
const long double pi = 3.1415926535897932384626433832795;
const long double eps = 0.0000001;
const int INF = 1E9;
const int MAXN = 111;
string s;
int n;
bool a[MAXN];
long long dp[MAXN][2][2], ans;
int main() {
  cin >> s;
  n = s.size();
  for (int i = 0; i < (int)(n); i++) a[i] = (s[i] == 'A');
  dp[0][0][0] = dp[0][1][1] = 1;
  for (int i = (int)(1); i <= (int)(n - 1); i++)
    for (int j = 0; j < (int)(2); j++) {
      if (!a[i - 1] && !a[i]) {
        dp[i][j][0] = dp[i - 1][j][0];
        dp[i][j][1] = dp[i - 1][j][0];
      }
      if (!a[i - 1] && a[i]) {
        dp[i][j][0] = dp[i - 1][j][1];
        dp[i][j][1] = dp[i - 1][j][0];
      }
      if (a[i - 1] && !a[i]) {
        dp[i][j][0] = dp[i - 1][j][0];
        dp[i][j][1] = dp[i - 1][j][0] + dp[i - 1][j][1];
      }
      if (a[i - 1] && a[i]) {
        dp[i][j][0] = 0;
        dp[i][j][1] = dp[i - 1][j][0] + dp[i - 1][j][1];
      }
    }
  if (!a[n - 1] && !a[0]) ans = dp[n - 1][0][0] + dp[n - 1][1][0];
  if (!a[n - 1] && a[0]) ans = dp[n - 1][1][0] + dp[n - 1][0][1];
  if (a[n - 1] && !a[0])
    ans = dp[n - 1][0][0] + dp[n - 1][1][0] + dp[n - 1][1][1];
  if (a[n - 1] && a[0]) ans = dp[n - 1][1][0] + dp[n - 1][1][1];
  cout << ans;
  return 0;
}
