B. Браслет
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод или input.txt
вывод
стандартный вывод или output.txt

Поликарпу подарили подарок — браслет с OLED-экраном по всей поверхности. Экран имеет $$$n$$$ пикселей, расположенных вдоль браслета. Каждый пиксель может гореть одним из двух любимых цветов Поликарпа — оранжевым или фиолетовым.

Браслет горит определённой расцветкой в течение дня, но на утро цвета меняются: каждый пиксель загорается произвольным цветом. Поликарпу нравится, когда браслет горит так, что в нём образованы две области, одна из оранжевых пикселей, вторая из фиолетовых. Областью будем называть максимальную по включению последовательность подряд идущих пикселей.

К счастью, экран браслета ещё и сенсорный. Поликарп может нажать на пиксель и область, которой он в данный момент принадлежит, инвертируется по цвету. То есть, оранжевый становиться фиолетовым, и наоборот.

Поликарп показал вам новую утреннюю раскраску экрана и просит вас о помощи. Он хочет изменить её касаниями так, чтобы было ровно две области и чтобы разница между их размерами была как можно меньше. Формально, если оранжевая область имеет размер $$$x$$$, а фиолетовая — $$$y$$$, то Поликарп хочет минимизировать $$$|x-y|$$$.

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

Единственная строка содержит последовательность длиной от $$$2$$$ до $$$5 \times 10^6$$$, состоящую из цифр «0» и «1», которые обозначают фиолетовый и оранжевый цвета соответственно.

Гарантируется, что оба цвета встречаются в последовательности хотя бы по одному разу.

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

Выведите целое число — минимальную возможную разность.

Примеры
Входные данные
1011100110
Выходные данные
0
Входные данные
101
Выходные данные
1
Примечание

В первом примере в одном из способов нужно коснуться 2-го, а потом 9-го пикселя, после чего получатся две области по 5 пикселей.

Во втором примере экран уже показывает две области и ничего изменить нельзя.