#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(0);
  string s;
  cin >> s;
  long long n = s.size();
  set<long long> M, S, F;
  for (long long i = 0; i < n; i++) {
    M.insert(i);
    if (i < n - 1 and s[i] != s[i + 1]) {
      S.insert(i);
      S.insert(i + 1);
    }
  }
  long long r = 0;
  while (!S.empty()) {
    F.clear();
    for (long long e : S) {
      auto it = M.find(e);
      auto it2 = it;
      if (it != M.begin()) {
        it--;
        F.insert(*it);
      }
      it2++;
      if (it2 != M.end()) {
        F.insert(*it2);
      }
      M.erase(e);
    }
    S.clear();
    for (long long e : F) {
      auto it = M.find(e);
      if (it != M.end()) {
        auto it2 = it;
        if (it != M.begin()) {
          it--;
          if (s[*it2] != s[*it]) {
            S.insert(*it);
            S.insert(*it2);
          }
        }
        it2 = it;
        it2++;
        if (it2 != M.end() and s[*it2] != s[*it]) {
          S.insert(*it);
          S.insert(*it2);
        }
      }
    }
    r++;
  }
  cout << r;
}
