#include <bits/stdc++.h>
using namespace std;
long long min(long long a, long long b) {
  if (a > b) return b;
  return a;
}
long long max(long long a, long long b) {
  if (a > b) return a;
  return b;
}
int32_t main() {
  string s;
  cin >> s;
  reverse(s.begin(), s.end());
  long long count = 0;
  long long prev1 = 0;
  if (s.length() == 1) {
    cout << "0";
    return 0;
  }
  for (long long i = 0; i < s.length(); i++) {
    if (i % 2 == 0) {
      if (s[i] == '0') {
        count++;
      }
      if (s[i] == '1') {
        if (i == s.length() - 1) {
          if (prev1) count++;
        } else {
          count++;
        }
      }
    }
    if (s[i] == '1') prev1 = 1;
  }
  cout << count;
  return 0;
}
