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