Вставка ключових значень
Вас найняла на роботу компанія MacroHard, щоб ви розробили нову структуру даних для збереження цілих ключових значень.
Ця структура виглядає як масив A нескінченної довжини, комірки якого нумеруються з одиниці. Спочатку усі комірки порожні. Єдина операція, яку необходно підтримувати - це операція Insert(L, K), де L - положення у масиві, а K - деяке додатне ціле ключове значення.
Операція виконується наступним чином:
Якщо комірка A[L] порожня, то присвоїти A[L] := K.
Якщо комірка A[L] не порожня, виконати Insert(L+1, A[L]), а потім присвоїти A[L] := K.
За заданою послідовністю із N цілих чисел L_1, L_2, ..., L_N вам необхідно вивести вміст цього масиву після виконання наступної послідовності операцій:
Insert(L_1, 1)
Insert(L_2, 2)
...
Insert(L_N, N)
Вхідні дані
У першому рядку вхідного файла міститься N - кількість операцій Insert та M - максимальний номер позиції, яку можна використовувати в операції Insert. (1 ≤ N ≤ 131072, 1 ≤ M ≤ 131072). У наступному рядку задано N цілих чисел L_i, які описують операції Insert (1 ≤ L_i ≤ M).
Вихідні дані
Виведіть вміст масиву після виконання заданої послідовності операцій Insert. У першому рядку виведіть W - номер останньої не вільної позиції у масиві. Далі виведіть W цілих чисел - A[1], A[2], ..., A[W]. Для порожніх комірок виводьте нулі.