Група друзів щойно зіграла партію у міні-гольф. Міні-гольф поля складаються з декількох лунок. Кожен гравець по черзі грає на кожній лунці, багаторазово вдаряючи по м'ячу, доки той не потрапить у лунку. Результат гравця на цій лунці — це кількість ударів по м'ячу. Щоб уникнути значних затримок через менш досвідчених гравців, існує верхня межа (додатне ціле число) на результат: якщо гравець вдарив по м'ячу разів, а м'яч ще не у лунці, його результат на цій лунці фіксується як і його хід закінчується. Підсумковий результат кожного гравця — це просто сума його результатів на всіх лунках. Звісно, менший підсумковий результат вважається кращим.
Є одна проблема: жоден з гравців не пам'ятає значення цілого числа . Вони вирішують не застосовувати жодної верхньої межі під час гри, дозволяючи кожному грати доти, поки м'яч не потрапить у лунку. Після гри вони планують дізнатися значення і скоригувати результати, замінивши будь-який результат на лунці, який перевищує , на .
Гра вже закінчилась, але гравці ще не подивилися . Їм цікаво, які найкращі можливі ранги у них можуть бути. У цій задачі ранг гравця — це кількість гравців, які досягли такого самого або меншого підсумкового результату після корекції результатів за допомогою . Наприклад, якщо скориговані підсумкові результати гравців — 3, 5, 5, 4 і , тоді їх ранги — 2, 5, 5, 3 і відповідно.
Враховуючи результати гравців на кожній лунці, визначте найменший можливий ранг для кожного гравця.
У першому рядку задано два цілі числа і , де p~(2 \le p \le 500) — це кількість гравців, а h~(1 \le h \le 50) — кількість лунок. Наступні рядків містять натуральних чисел. -е число в -му рядку є результатом гравця на лунці і не перевищує 10^9.
Виведіть рядок з мінімально можливим рангом для кожного гравця в тому ж порядку, в якому гравці перераховані у вхідних даних.
Приклад 1
Приклад 2