#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int dp[100005][5];
int main() {
  string s;
  cin >> s;
  for (int i = (0); i < (100005); i++)
    for (int j = (1); j < (5); j++) dp[i][j] = -1;
  for (int i = (1); i < (5); i++) dp[i - 1][i] = 1;
  for (int i = (0); i < (s.size()); i++)
    for (int j = (1); j < (5); j++)
      for (int k = (1); k < (5); k++) {
        if (i + j >= s.size()) continue;
        if (i - k + 1 < 0) continue;
        if (dp[i][k] == -1) continue;
        if (s.substr(i - k + 1, k) == s.substr(i + 1, j)) continue;
        dp[i + j][j] = max(dp[i + j][j], dp[i][k] + 1);
      }
  int ans = 0;
  for (int i = (1); i < (5); i++) ans = max(ans, dp[s.size() - 1][i]);
  cout << ans << endl;
}
