eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Минимальная перестановка

Минимальная перестановка

Лимит времени 1 секунда
Лимит использования памяти 64 MiB

Дано натуральное число n и неотрицательные целые числа k_1, k_2, ..., k_n такие, что

k_1 + 2k_2 + ... + nk_n = n.

Требуется построить лексикографически минимальную перестановку чисел от 1 до n, у которой k_1 циклов длины 1, k_2 циклов длины 2, ..., k_n циклов длины n в ее разложении на непересекающиеся циклы. Перестановка x=(x_1, x_2, ..., x_n) лексикографически меньше перестановки y=(y_1, y_2, ..., y_n), если найдется такое i{1, 2, ..., n}, что x_j = y_j при 1j < i и x_i < y_i.

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

В первой строке входного файла задано натуральное число n10^5. Во второй строке заданы через пробел неотрицательные целые числа k_1, k_2, ..., k_n такие, что k_1+2k_2+...+nk_n=n.

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

В единственную строку выходного файла выведите через пробел n чисел: элементы искомой перестановки.

Пример

Входные данные #1
5
2 0 1 0 0
Выходные данные #1
1 2 4 5 3