/*
有很多个硬币摆在一行,有正面朝上的,也有背面朝上的。
正面朝上的用1表示,背面朝上的用0表示。
现在要求从这行的第一个硬币开始,将从第一个硬币开始的前若干个硬币同时翻面,
求如果要将所有硬币翻到正面朝上,最少要进行这样的操作多少次?
*/
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
string s;
cin >> s;
int sum = 0;
int len = s.length();
for (int i = 0; i < len - 1; i++)
{
if (s[i] != s[i + 1])
sum++;
}
if (s[len - 1] == '0')
sum++;
cout << sum;
}