Дополнение к 0 — расширенный вариант

Мы можем свести любое число к 0, многократно применяя к нему операцию дополнения в двоичной форме:
5 = 101 → 10 → 1 → 0 ⇒ 3 операции дополнения.
На этот раз вам нужно вычислить, сколько таких операций потребуется, чтобы свести к 0 действительно большие двоичные строки.

Входные данные

Во входных данных содержится одна строка, представляющая двоичную строку s (1 ≤ |s| ≤ ).

Выходные данные

Выведите одно целое число — количество операций дополнения, необходимых, чтобы преобразовать s в 0.

Примеры

Ввод
Вывод
111111000111110011100
6

Пояснение

111111000111110011100 → 111000001100011 → 111110011100 → 1100011 → 11100 → 11 → 0
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue