#include <bits/stdc++.h>

#define ll long long
#define ld long double
#define endl "\n"

using namespace std;

bool ok(string s) {
    vector<int> a(10);

    for(int i=0;i<(int)s.size();i++) {
        if(!a[s[i]-'0'])
            a[s[i]-'0']++;
        else {
            if(s[i-1]!=s[i])
                return false;
        }
    }

    return true;
}

int pw(int a, int b) {
    int a1=a;
    for(int i=1;i<b;i++)
        a*=a1;
    return a;
}

void qwe(string s)
{
    int nula=0, kec=0;
    for(char c:s) {
        if(c=='0')
            nula++;
        else
            kec++;
    }

    int ans=min(nula,kec);

    int nulaLevo=0, kecLevo=0;
    int nulaDesno=nula, kecDesno=kec;

    if(s[0]=='0')
        nulaDesno--;
    else
        kecDesno--;

    for(int i=1;i<(int)s.size()-1;i++) {
        if(s[i-1]=='0')
            nulaLevo++;
        else
            kecLevo++;

        if(s[i]=='0')
            nulaDesno--;
        else
            kecDesno--;

        ans=min(ans,min(kecLevo+nulaDesno,nulaLevo+kecDesno));

    }

    cout << ans << endl;
}

void solve()
{
    string s; cin >> s;

    if(s=="1" || s=="10" || s=="100" || s=="1000" || s=="10000" || s=="100000" || s=="1000000" || s=="10000000") {
        cout << "0" << endl;
        return;
    }

    bool r=true;
    if(s[0]!='1')
        r=false;
    for(int i=1;i<s.size();i++) {
        if(s[i]!='0') {
            r=false;
            break;
        }
    }
    if(r) {
        cout << "0" << endl;
        return;
    }

    bool jediniceinule=true;
    for(char c:s) {
        if(c!='0' && c!='1') {
            jediniceinule=false;
            break;
        }
    }

    if(jediniceinule) {
        qwe(s);
        return;
    }

    string ss="00000000000";
    int cif=s.size();
    int bestAns=cif;

    for(int i=0;i<=pw(10,(int)s.size())-1;i++) {

        int cif2=to_string(i).size();

        string x=s.substr(0,cif-cif2)+to_string(i);

        if(!ok(x))
            continue;

        int ans=0;

        for(int j=0;j<(int)x.size();j++) {
            if(s[j]!=x[j])
                ans++;
        }

        bestAns=min(ans,bestAns);
    }


    cout << bestAns << endl;
}

int main()
{
    ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);

    int t=1; //cin >> t;
    while(t--)
        solve();

    return 0;
}