#include #define FOR(i,a,b) for(int i = (a); i < (b); ++i) #define REP(i,n) FOR(i,0,n) #define RREP(i,n) for(int i = (n) - 1; (i) >= 0; --i) #define SZ(n) (int)(n).size() #define ALL(n) (n).begin(), (n).end() #define MOD LL(1e9 + 7) #define INF 1000000 using namespace std; typedef long long LL; typedef vector VI; typedef pair PI; const LL s = 100001; LL a[s][10]; void comb(int n) { REP(i, n) { a[i][0] = 1; a[i][i] = 1; } FOR(i, 2, n + 1) { FOR(j, 1, 3) { a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; a[i][i - j] = a[i][j]; } } } int main() { string s; cin >> s; VI cnt(s.size(), 0); if (s.back() == 'w') cnt[s.size() - 1]++; RREP(i, s.size() - 1) { if (s[i] == 'w') cnt[i]++; cnt[i] += cnt[i + 1]; } comb(s.size()); LL ans = 0; REP(i, s.size()) { if (s[i] == 'c') { ans += a[cnt[i]][2]; } } cout << ans << endl; return 0; }