using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace atcorder_BeginnerContest_120
{
    class Program
    {

        static void Main(string[] args)
        {
            string str = Console.ReadLine();

            int ret = 0;

            while (true)
            {

                bool endFlg10 = false;
                bool endFlg01 = false;

                //"10"
                int startIdx = str.IndexOf("10");
                int idx1 = startIdx;
                int idx0 = startIdx + 1;
                int cnt = 0;

                if (0 <= startIdx)
                {
                    int cnt1 = 0;
                    int cnt0 = 0;
                    for (int i = startIdx - 1; 0 <= i; i--)
                    {
                        if ("0" == str.Substring(i, 1))
                        {
                            break;
                        }
                        else
                        {
                            idx1 = i;
                            cnt1++;
                        }
                    }
                    for (int i = startIdx + 2; i < str.Length; i++)
                    {
                        if ("1" == str.Substring(i, 1))
                        {
                            break;
                        }
                        else
                        {
                            idx0 = i;
                            cnt0++;
                        }
                    }

                    if (cnt0 < cnt1)
                    {
                        idx1 += cnt1 - cnt0; 
                    }
                    else
                    {
                        idx0 -= cnt0 - cnt1;                     
                    }

                    cnt = idx0 - idx1 + 1;

                    ret += cnt;
                    str = str.Remove(idx1, cnt);
                }
                else
                {
                    endFlg10 = true;
                }

                //"01"
                startIdx = str.IndexOf("01");
                idx0 = startIdx;
                idx1 = startIdx + 1;
                cnt = 0;

                if (0 <= startIdx)
                {
                    int cnt0 = 0;
                    int cnt1 = 0;
                    for (int i = startIdx - 1; 0 <= i; i--)
                    {
                        if ("1" == str.Substring(i, 1))
                        {
                            break;
                        }
                        else
                        {
                            idx0 = i;
                            cnt0++;
                        }
                    }
                    for (int i = startIdx + 2; i < str.Length; i++)
                    {
                        if ("0" == str.Substring(i, 1))
                        {
                            break;
                        }
                        else
                        {
                            idx1 = i;
                            cnt1++;
                        }
                    }

                    if (cnt1 < cnt0)
                    {
                        idx0 += cnt0 - cnt1;
                    }
                    else
                    {
                        idx1 -= cnt1 - cnt0;
                    }

                    cnt = idx1 - idx0 + 1;
                    ret += cnt;
                    str = str.Remove(idx0, cnt);
                }
                else
                {
                    endFlg01 = true;
                }

                if (endFlg10 && endFlg01)
                {
                    break;
                }
            }

            Console.WriteLine(ret);

        }
    }
}
