#include <bits/stdc++.h>
template <class T>
void re(T& x) {
  std::cin >> x;
}
template <class T, class... Ts>
void re(T& t, Ts&... ts) {
  re(t);
  re(ts...);
}
void pr(int x) { std::cout << x; }
void pr(long long x) { std::cout << x; }
void pr(float x) { std::cout << x; }
void pr(double x) { std::cout << x; }
void pr(char x) { std::cout << x; }
void pr(const char* x) { std::cout << x; }
void pr(const std::string& x) { std::cout << x; }
template <class T>
void pr(const T& x);
template <class T, class... Ts>
void pr(const T& t, const Ts&... ts) {
  pr(t);
  pr(ts...);
}
void ps() { std::cout << "\n"; }
using namespace std;
using ll = long long;
using vi = vector<int>;
int main() {
  string s;
  re(s);
  int cut = 1, ans = 0;
  for (int i = 1; i <= (int)((int)s.size() - 1); i++) {
    if (s[i] != s[i - 1]) {
      ans += 2 - (cut == 1), cut = 1;
    } else if (s[i] == s[i - 1]) {
      if (cut == 1)
        ans++, i += 2, cut = 2;
      else
        ans += 2, cut = 1;
    }
  }
  pr(ans);
  return 0;
}
