def main():
    s = input()
    d = {0: 0}
    for i in s:
        d2 = dict()

        for j in d.keys():
            k = d[j]
            if i != "1":
                temp = max(j-1, 0)
                if temp not in d2:
                    d2[temp] = [k-1]
                else:
                    d2[temp].append(k-1)
            if i != "0":
                if j+1 not in d2:
                    d2[j+1] = [min(0, k+1)]
                else:
                    d2[temp].append(min(0, k+1))

        d = dict()
        for j in d2.keys():
            d[j] = max(d2[j])

        for i in d2.keys():
            if i-1 in d:
                if d[i] == d[i-1]:
                    d.pop(i)
                    continue
            if i-2 in d:
                if d[i] == d[i-2]:
                    d.pop(i)

    ans2 = 10**10
    for i, j in d.items():
        ans2 = min(ans2, i-j)
    print(ans2)


main()
