#include <bits/stdc++.h>
long long N;
static char dp[1000][200001];
int main() {
  char s[200001];
  scanf("%s", &s);
  int cnt = 0;
  N = strlen(s);
  long long i, j;
  int start = 0;
  char st_cut[200001];
  int st_cut_byte = 1;
  while (start < N && start + st_cut_byte < N) {
    strncpy(st_cut, s + start, st_cut_byte);
    if (cnt == 0) {
      strncpy(dp[cnt], st_cut, st_cut_byte);
      cnt++;
      start += st_cut_byte;
      st_cut_byte = 1;
    } else {
      int flag = 0;
      for (j = 0; j < cnt; j++) {
        if (!strcmp(dp[j], st_cut)) {
          flag = 1;
        }
      }
      if (!flag) {
        strncpy(dp[cnt], st_cut, st_cut_byte);
        cnt++;
        start += st_cut_byte;
        st_cut_byte = 1;
        flag = 0;
      } else
        st_cut_byte++;
    }
    memset(st_cut, '\0', strlen(st_cut));
  }
  printf("%d\n", cnt);
  return 0;
}
