#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; string s; string f = "cww"; #define MAX 100002 bool use[MAX][4]; long long int dp[MAX][4]; char buf[MAX]; int n; inline long long int dfs(int a, int b){ if (use[a][b]){ return dp[a][b]; } if (b == 3){ return 1; } if (a == n){ return 0; } use[a][b] = true; if (f[b] == s[a]){ dp[a][b] = dfs(a + 1, b + 1); } dp[a][b] += dfs(a + 1, b); return dp[a][b]; } int main(){ scanf("%s", buf); s = buf; n = s.size(); long long int ans = dfs(0, 0); printf("%lld\n", ans); return 0; }