#include <bits/stdc++.h>
using namespace std;
char c[200003];
int f[200003][3], ans;
int main() {
  memset(f, 0xaf, sizeof(f));
  cin >> c;
  f[1][1] = f[2][2] = 1;
  for (int i = 1; c[i]; i++) {
    if (c[i - 1] != c[i])
      if (f[i][1] < f[i - 1][1] + 1) {
        f[i][1] = f[i - 1][1] + 1;
      }
    if (f[i][1] < f[i - 1][2] + 1) {
      f[i][1] = f[i - 1][2] + 1;
    }
    if (i >= 2) {
      if (f[i][2] < f[i - 2][1] + 1) {
        f[i][2] = f[i - 2][1] + 1;
      }
      if (i >= 3)
        if (c[i - 2] != c[i] && c[i - 3] != c[i - 1]) {
          if (f[i][2] < f[i - 2][2] + 1) {
            f[i][2] = f[i - 2][2] + 1;
          }
        }
    }
    ans = max(f[i][1], f[i][2]);
  }
  cout << ans << endl;
}
