#include <bits/stdc++.h>
const double pi = acos(-1.0);
using namespace std;
int ans = 0, r;
string s;
void f(int l) {
  if (l < 0) return;
  while (s[l] == '0') --l;
  if (l > r - l + 1) {
    ++ans;
    r = l - 1;
    f(l - 1);
    return;
  }
  if (l < r - l + 1) return;
  for (int i = 0; i < r - l + 1; ++i) {
    if (s[i] < s[l + i]) {
      f(l - 1);
      return;
    }
    if (s[i] > s[l + 1]) {
      ++ans;
      r = l - 1;
      f(l - 1);
      return;
    }
  }
  ++ans;
  r = l - 2;
  f(l - 2);
  return;
}
int main() {
  getline(cin, s);
  r = s.length() - 1;
  f(s.length() - 1);
  cout << ans + 1;
  return 0;
}
