#include <bits/stdc++.h>
using namespace std;
int i, j, k, n, m;
int f[100010], ne[100010], be[100010];
char p[100010];
int main() {
  scanf("%s", p + 1);
  n = strlen(p + 1);
  for (i = 1; i <= n; i = j) {
    for (j = i + 1; j <= n && p[j] == '0'; j++)
      ;
    ne[i] = j - 1;
  }
  for (i = 1; i <= n; i = ne[i] + 1) {
    if (ne[i] == i) {
      if (i == 1)
        f[i] = 1;
      else if (i == 2 && p[1] < p[2])
        f[i] = 1;
      else
        f[i] = f[i - 1] + 1;
    } else {
      int A = ne[i] - i;
      if (A + 1 < i - 1 || A + 1 == i - 1 && p[1] >= p[i])
        f[ne[i]] = f[i - 1] + 1;
      else
        f[ne[i]] = 1;
    }
  }
  printf("%d\n", f[n]);
  return 0;
}
