#include <bits/stdc++.h>
using namespace std;
char input[100010];
int compare(int s1, int e1, int s2, int e2);
int main() {
  while (scanf("%s", input) != EOF) {
    int len = strlen(input);
    int e1 = len - 1;
    int e2 = len - 2;
    while (input[e2 + 1] == '0') {
      e2--;
    }
    int h = 0;
    int ans = 0;
    while (1) {
      if (e2 >= 0 && input[e2 + 1] != '0' && compare(h, e2, e2 + 1, e1)) {
        e1 = e2;
        e2--;
        ans++;
      } else {
        e2--;
        if (e2 < 0) {
          ans++;
          break;
        }
      }
    }
    printf("%d\n", ans);
  }
  return 0;
}
int compare(int s1, int e1, int s2, int e2) {
  int len1 = e1 - s1 + 1;
  int len2 = e2 - s2 + 1;
  if (len1 == len2) {
    for (int i = 0; i < len1; i++) {
      if (input[s1 + i] < input[s2 + i]) {
        return 0;
      }
    }
  } else {
    return len1 > len2;
  }
  return 1;
}
