#include <bits/stdc++.h>

using namespace std;

#define REP(i,a,b) for(int i=a;i<(int)b;i++)
#define rep(i,n) REP(i,0,n)
#define all(c) (c).begin(), (c).end()
#define zero(a) memset(a, 0, sizeof a)
#define minus(a) memset(a, -1, sizeof a)
#define watch(a) { cout << #a << " = " << a << endl; }
template<class T1, class T2> inline bool minimize(T1 &a, T2 b) { return b < a && (a = b, 1); }
template<class T1, class T2> inline bool maximize(T1 &a, T2 b) { return a < b && (a = b, 1); }

typedef long long ll;
int const inf = 1<<29;

int main() {

  string S; cin >> S;
  int N = S.size();
  assert(3 <= N && N <= 100000);
  int ccnt = 0, wcnt = 0;
  rep(i, N) {
    if(wcnt && S[i] == 'c') assert(false && "w...c...");
    ccnt += S[i] == 'c';
    wcnt += S[i] == 'w';
    assert(S[i] == 'c' || S[i] == 'w');
  }

  assert(ccnt >= 2);
  assert(wcnt >= 1);

/*
  if(S == "ccw") {
    cout << 0 << endl;
  }
  else {
    */
  cout << min(count(S.begin(), S.end(), 'c') - 1, count(S.begin(), S.end(), 'w')) << endl;
//  }
  
  return 0;
}