Монетки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Пока Мелман сидел в узком ящике и куда-то плыл, ему было очень скучно. Чтобы себя чем-то развлечь, он начал играть в игру с $$$n$$$ монетками, которые нашел в ящике.

Он положил монетки перед собой в ряд и пронумеровал их от $$$1$$$ до $$$n$$$ слева направо. Некоторые монетки лежат вверх решкой, а некоторые — орлом. Затем, Мелман начинает делать ходы. Для начала, он считает число $$$k$$$ — количество монеток, лежащих орлом вверх. Если таких монет нет, то игра заканчивается. Иначе, он делает ход — переворачивает монетку номер $$$k$$$.

Помогите Мелману по начальному расположению монеток определить, сколько раз ему придется сделать ход, чтобы закончить игру. Либо сообщите, что игра будет длиться бесконечно долго.

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

В первой строке дано одно целое число $$$n$$$ — количество монеток ($$$1 \le n \le 100\,000$$$). В следующей строке дана строка из $$$n$$$ символов «0» и «1» — начальное расположение монеток. Символ «0» соответствует монетке, лежащей вверх решкой, а символ «1» — орлом.

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

Если игра будет длиться бесконечно, выведите «-1». А иначе, выведите количество ходов, которые Мелману придется сделать перед тем, как игра закончится.

Примеры

Входные данные
5
00101
Выходные данные
12
Входные данные
3
101
Выходные данные
4
Входные данные
1
1
Выходные данные
1
Входные данные
5
00000
Выходные данные
0