#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
    string broj;
    cin >> broj;

    if(broj.length() == 1)
    {
      cout << 0 << endl;
    }
    else if(broj.length() == 2)
    {
        if(broj[0] == broj[1])
        {
            cout << 0 << endl;
        }
        else
        {
            cout << 1 << endl;
        }
    }
    else if(broj.length() == 3)
    {
        if(broj[0] == broj[1] && broj[1] == broj[2])
        {
            cout << 0 << endl;
        }
        else if(broj[0] == broj[1])
        {
            cout << 0 << endl;
        }
        else if(broj[1] == broj[2] && broj[1] != broj[0])
        {
            cout << 0 << endl;
        }
        else if(broj[1] != broj[2] && broj[1] != broj[0] && broj[0] != broj[2])
        {
            cout << 1 << endl;
        }
        else if(broj[0] == broj[2] && broj[0] != broj[1])
        {
            cout << 1 << endl;
        }
        else
        {
            cout << 1 << endl;
        }
    }

    else
    {
  vector<int> varijacije_nula;
  vector<int> varijacije_jedinica;

  for(int i=0; i < broj.length(); i++)
  {
    if(broj[i] == '0')
    {
      varijacije_nula.push_back(i);
    }
  }
  for(int i=0; i < broj.length(); i++)
  {
    if(broj[i] == '1')
    {
      varijacije_jedinica.push_back(i);
    }
  }

  if(varijacije_nula.size() == 0 || varijacije_jedinica.size() == 0)
  {
    cout << 0 << endl;
    return 0;
  }

  // racunanje nula
  int potrebno_nula = 0;
  if(broj[broj.length()-1] == '1')
  {
    if(broj[0] == '1')
    {
      int prvi_pokusaj = varijacije_nula.at(0) - 0;
      int drugi_pokusaj = broj.length() - 1 - varijacije_nula.at(varijacije_nula.size() - 1);
      potrebno_nula += min(prvi_pokusaj, drugi_pokusaj);
    }
  }
  for(int i=0; i < varijacije_nula.size() - 1; i++)
  {
    potrebno_nula += varijacije_nula.at(i+1) - varijacije_nula.at(i)-1;
  }

  // racunanje jedinica
  int potrebno_jedinica = 0;
  if(broj[broj.length()-1] == '0' && broj[0] == '0')
  {
    int prvi_pokusaj = varijacije_jedinica.at(0) - 0;
    int drugi_pokusaj = broj.length()-1-varijacije_jedinica.at(varijacije_jedinica.size()-1);
    potrebno_jedinica += min(prvi_pokusaj, drugi_pokusaj);
  }
  for(int i=0; i < varijacije_jedinica.size()-1; i++)
  {
    potrebno_jedinica += varijacije_jedinica.at(i+1) - varijacije_jedinica.at(i)-1;
  }

  cout << min(potrebno_nula, potrebno_jedinica) << endl;
}
    return 0;
}