#include <iostream>
#include <string>
#include <vector>
#include <deque>

const int NMAX=212345;

int main() {
  std::string N;
  std::cin >> N;
  int n=(int)N.length();
  std::deque<int> dq;
  int cnt=0, pos=n-1;
  int ans=0;
  while (pos>=0) {
    if (N[pos]=='0') {
      --pos;
      continue;
    }
    while (pos>=0&&N[pos]=='1') {
      --pos;
      ++cnt;
    }
    if (cnt>0) {
      ++ans;
      if (cnt>1) {
        if (pos>=0)
          N[pos]='1';
        else
          ++ans;
      }
      cnt=0;
    }
  }
  std::cout << ans << std::endl;
}