#include<bits/stdc++.h>
using namespace std;
string s;
int prvanula,zadnjanula,sum,nulelevo,nuledesno;
int prvajed,zadnjajed,sum1,jeddesno,jedlevo;
int main()
{
    cin>>s;
    for(int i=0;i<s.size();i++)
    {
        if(s[i]>1)
        {
            cout<<"1"<<endl;
            return 0;
        }
    }
    for(int i=0;i<s.size();i++)
    {
        if(s[i]-48==0)
        {
            prvanula=i;
            break;
        }
    }
    for(int i=s.size()-1;i>=0;i--)
    {
        if(s[i]-48==0)
        {
            zadnjanula=i;
            break;
        }
    }
    for(int i=prvanula+1;i<zadnjanula;i++)
    {
        if(s[i]-48!=0)
        {
            sum++;
        }
    }
    for(int i=0;i<prvanula;i++)
    {
        if(s[i]-48!=0)
        {
            nulelevo++;
        }
    }
    for(int i=s.size()-1;i>=zadnjanula;i--)
    {
        if(s[i]-48!=0)
        {
            nuledesno++;
        }
    }
    sum+=min(nulelevo,nuledesno);
    ///odavde su jedinice
    for(int i=0;i<s.size();i++)
    {
        if(s[i]-48==1)
        {
            prvajed=i;
            break;
        }
    }
    for(int i=s.size()-1;i>=0;i--)
    {
        if(s[i]-48==1)
        {
            zadnjajed=i;
            break;
        }
    }
    for(int i=prvajed+1;i<zadnjajed;i++)
    {
        if(s[i]-48!=1)
        {
            sum1++;
        }
    }
    for(int i=0;i<prvajed;i++)
    {
        if(s[i]-48!=1)
        {
            jedlevo++;
        }
    }
    for(int i=s.size()-1;i>=zadnjajed;i--)
    {
        if(s[i]-48!=0)
        {
            jeddesno++;
        }
    }
    sum1+=min(jedlevo,jeddesno);
    cout<<min(sum,sum1)<<endl;
    return 0;
}