Лічилка#7332

Лічилка

3 секунди
64 мегабайти
Середня

дітей стоять у колі, використовуючи лічилочку, щоб визначити, хто з них покине коло. Вони повторюють лічилочку, вказуючи на наступну дитину по колу з кожним словом. Дитина, на яку вказують останнім словом лічилочки, залишає коло.

Цей процес повторюється (1 \le k \le n) разів, починаючи щоразу з дитини, яка стоїть одразу за тією, що покинула коло. Лічилочки кожного разу різні, і рахунок ведеться від меншого номера до більшого.

Напишіть програму, яка, знаючи кількість дітей, кількість лічилочок та кількість слів у кожній лічилочці, визначить порядок вибування дітей з кола.

Вхідні дані

Перший рядок містить кількість дітей (1 \le n \le 10^{18}) і кількість використаних лічилочок (1 \le k \le \min(n, 10^5)). Другий рядок містить цілих чисел (кожне в межах 1 \le a_i \le 10^{18}) - кількість слів у лічилочках, використаних перший, другий, ..., -ий раз.

Вихідні дані

В одному рядку виведіть чисел - номери дітей, які покидають коло після відповідної лічилочки. Спочатку діти пронумеровані від до , і на першу дитину вказують, коли читають перше слово першої лічилочки. Далі діти зберігають свій номер, незважаючи на номери тих, хто покидає коло.

Приклади

Приклад 1

Loading
Loading

Приклад 4

Loading
Loading