Олимпиадный тренинг

Задача . A. Двоичный протокол


Задача

Темы: реализация *1100

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

  • Каждая цифра представляется числом символов '1' равным значению этой цифры (для 0 — это ноль единиц).
  • Цифры записываются одна за другой в порядке, как в оригинальном числе, и разделяются единственным символом '0'.

И хотя Поликарп научился представлять число в виде двоичной строки, он так и не сумел понять, как перевести строку обратно в число. Помогите ему посчитать закодированное число.

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

В первой строке записано одно целое число n (1 ≤ n ≤ 89) — длина строки s.

Во второй строке записана строка s из символов '0' и '1' — число в формате бинарной строки. Гарантируется, что число, соответствующее строке, положительное и не превышает 109. Строка всегда начинается с символа '1'.

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

Выведите закодированное число.


Примеры
Входные данныеВыходные данные
1 4
4 4
1 2
2 3
3 4
4 2
3 2
2 3
3 1
4 6
1 2
3 4
4 2
1 4
1 3
3 2
10 9
2 1
3 2
5 2
6 2
2 7
2 8
2 9
2 10
4 2
YES
1 2 2 1
NO
YES
1 1 1 1
YES
1 5 1 1 1 1 1 1 1 1

time 2000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w642
Комментарий учителя