#include <bits/stdc++.h>
using namespace std;
int max(int x, int y) { return x > y ? x : y; }
char s[1000001];
int a[1000001];
int num[2];
int main() {
  int i, n, m;
  while (~scanf("%s", s)) {
    int n = strlen(s);
    for (i = 0; i < n; i++) a[i] = s[i] - '0';
    int ans = 0;
    num[0] = 0, num[1] = 0;
    for (i = 0; i < n; i++) {
      if (a[i] == 0) {
        if (num[1] <= 1) {
          ans += num[1];
          num[1] = 0;
        } else if (i && a[i - 1] == 0) {
          ans += num[0] + 1;
          num[0] = num[1] = 0;
        } else
          num[0]++;
      } else {
        num[1]++;
      }
    }
    if (num[1] == 1)
      ans += 1;
    else if (num[1] > 1) {
      if (a[n - 1] == 0)
        ans += num[0] + 1;
      else
        ans += num[0] + 2;
    }
    printf("%d\n", ans);
  }
  return 0;
}
