#include <bits/stdc++.h>
using namespace std;
int inputValue() {
  int a;
  cin >> a;
  return a;
};
void inputArray(int* p, int a) {
  for (int i = (0); i < (a); i++) {
    cin >> p[i];
  }
};
void inputVector(vector<int>* p, int a) {
  for (int i = (0); i < (a); i++) {
    int input;
    cin >> input;
    p->push_back(input);
  }
}
template <typename T>
void output(T a, int precision) {
  if (precision > 0) {
    cout << setprecision(precision) << a << "\n";
  } else {
    cout << a << "\n";
  }
}
int main(int argc, const char* argv[]) {
  string ss;
  cin >> ss;
  int vccount = 0;
  vector<string> vc;
  for (int i = (0); i < (ss.length()); i++) {
    vc.push_back(&ss[i]);
    if (vc.size() > 1 && (vc.at(vc.size() - 2) == string() + ss[i])) {
      if (i == ss.length() - 1) {
        cout << vc.size() - 1;
        return 0;
      } else {
        vc.at(vc.size() - 1) = vc.at(vc.size() - 1) + ss[i + 1];
        i++;
      }
    }
  }
  cout << vc.size();
  return 0;
}
