local function str2tbl(s)
    local t = {string.byte(s, 1, #s)}
    for i=1, #t do
        t[i] = string.char(t[i])
    end
    return t
end

local function each_char2(s)
    return ipairs(str2tbl(s))
end

local function each_char(s)
    local f = function(_, i)
        i = i + 1
        if i <= #s then
            return i, string.sub(s, i, i)
        end
    end
    return f, nil, 0
end

function string.at(s, i)
    return string.sub(s, i, i)
end

-- C
local S = {}
while true do
    local c = io.read(1)
    if c == "1" then
        table.insert(S, 1)
    elseif c == "0" then
        table.insert(S, 0)
    else
        break
    end
end
local oddeven_01, oddeven_10 = 0, 0
for i=1,#S do
    local x = S[i]
    if i & 1 == 1 then
        -- odd
        if x == 1 then
            oddeven_01 = oddeven_01 + 1
        elseif x == 0 then
            oddeven_10 = oddeven_10 + 1
        end
    else
        -- even
        if x == 1 then
            oddeven_10 = oddeven_10 + 1
        elseif x == 0 then
            oddeven_01 = oddeven_01 + 1
        end
    end
end
local min = oddeven_01
if min > oddeven_10 then
    min = oddeven_10
end
print(min)
