#include <bits/stdc++.h>
using namespace std;
signed main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(0);
  string st;
  cin >> st;
  vector<vector<long long> > dp(st.size() + 1,
                                vector<long long>(30 * 30 + 1, 0));
  for (long long i = 0; i < dp[0].size(); i++) {
    dp[0][i] = 1;
  }
  for (long long i = 0; i < st.size(); i++) {
    for (long long j = 0; j < dp[i].size(); j++) {
      if (dp[i][j]) {
        long long tmp = st[i] - 'a' + 1;
        if (j != tmp) {
          dp[i + 1][tmp] = max(dp[i][j] + 1, dp[i + 1][tmp]);
        }
        if (i + 1 < st.size()) {
          tmp *= 30;
          tmp += st[i + 1] - 'a' + 1;
          if (j != tmp) {
            dp[i + 2][tmp] = max(dp[i][j] + 1, dp[i + 2][tmp]);
          }
        }
      }
    }
  }
  long long ans = 0;
  for (long long i = 0; i < dp[0].size(); i++) ans = max(ans, dp[st.size()][i]);
  std::cout << ans - 1 << std::endl;
  return 0;
}
