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

Задача . H. Восстановление строки


У Степана в школе была любимая строка s, состоящая из строчных букв латинского алфавита.

После окончания университета, он решил её вспомнить, но прошло так много времени, что он не смог этого сделать. Зато Степан помнит некоторую информацию о своей строке, а именно последовательность целых чисел c1, c2, ..., cn, где n равно длине строки s, а ci равно количеству подстрок строки s длины i, которые состоят из одинаковых букв. Подстрокой строки называется некоторая последовательность подряд идущих символов строки s.

Например, если любимая строка Степана была равна «tttesst», то последовательность c имеет вид: c = [7, 3, 1, 0, 0, 0, 0].

Степан обратился к вам за помощью, он просит вас по имеющейся последовательности c1, c2, ..., cn восстановить его любимую строку s.

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

В первой строке следует целое число n (1 ≤ n ≤ 2000) — длина любимой строки Степана.

Во второй строке следует последовательность целых чисел c1, c2, ..., cn (0 ≤ ci ≤ 2000), где ci равно количеству подстрок строки s длины i, которые состоят из одинаковых букв.

Гарантируется, что входные данные таковы, что ответ всегда существует.

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

Выведите восстановленную любимую строку Степана. Если ответов несколько, разрешается вывести любой из них. Строка должна состоять из строчных букв латинского алфавита.

Примечание

В первом примере любимой строкой Степана может быть, например, строка «kkrrrq», так как в ней 6 подстрок длины 1, состоящих из одинаковых букв (они начинаются в позициях 1, 2, 3, 4, 5 и 6), 3 подстроки длины 2, состоящие из одинаковых букв (они начинаются в позициях 1, 3 и 4), и 1 подстрока длины 3, состоящая из одинаковых букв (она начинается в позиции 3).


Примеры
Входные данныеВыходные данные
1 6
6 3 1 0 0 0
kkrrrq
2 4
4 0 0 0
abcd

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

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