#include <bits/stdc++.h>
using namespace std;
bool mayorigual(const string &s, int i, int ifin, int j, int jfin) {
  if (ifin - i > jfin - j) return true;
  if (ifin - i < jfin - j) return false;
  int len = ifin - i;
  for (int k = 0; k < len; k++) {
    if (s[k + i] > s[k + j])
      return true;
    else if (s[k + i] < s[k + j])
      return false;
  }
  return true;
}
int main() {
  int ret = 0;
  string s;
  cin >> s;
  int j = s.size();
  int i = j - 1;
  while (i >= 0 && j > 0) {
    if (s[i] == '0')
      i--;
    else if (mayorigual(s, 0, i, i, j)) {
      ret++;
      j = i;
      i = j - 1;
    } else {
      ret++;
      break;
    }
  }
  cout << ret << endl;
  return 0;
}
