Гласачко ливче

Во земјата Математиканија ќе има избори. Се пријавиле N кандидати и нив еден по еден ги ставиле на избирачкото ливче. Но, таму секој кандидат самиот си избира кој број ќе се појавува покрај неговото име на ливчето. Така броевите кај кандидатите ниту се поредени ниту се уникатни, и како што се наредени на ливчето, i-тиот кандидат има покрај него број hi.

Годинава, аналитичарите најголема шанса за успех даваат на кандидатите според следното таканаречено K - правило: Кандидатот i е посупериорен од кандидатот j ако остатокот при делењето на бројчето hi со hj е точно K.

Утврдете за секој кандидат, според горното правило, од колку други кандидати тој е посупериорен.



Влез

Во првиот ред има два цели броја N (1 ≤ N ≤ 300 000) и K (0 ≤ K < 106), каде N е бројот на кандидати, а K е дадениот број од правилото.
Во следниот ред има N цели броеви hi (1 ≤ hi ≤ 106), избраните броеви за секој од кандидатите, според редоследот на нивното појавување на гласачкото ливче.

Забелешка.
Во подзадача за 19 поени: 1 ≤ N ≤ 2 000.
Во подзадача за други 22 поени ќе има најмногу 2 000 различни броеви меѓу избраните броеви на кандидатите.
Во подзадача за други 20 поени: K = 0.
Во подзадача за преостанатите 39 поени: нема други ограничувања.



Излез

Во еден ред треба да отпечатите N цели броеви разделени со празно место, така што i-тиот од броевите ќе кажува од колку други кандидати е посупериорен i-тиот кандидат.



Ограничувања

Временско ограничување: 300 milliseconds
Мемориско ограничување: 256 megabytes



Примери


влез
3 1
3 3 3
излез
0 0 0


влез
5 2
2 1 5 5 3


излез
3 0 1 1 0


влез
4 0
3 5 7 15


излез
0 0 0 2


Објаснување на вториот пример:
Првиот кандидат со избран број 2 е посупериорен од тројца - кандидатите со броеви 5, 5 и 3. Кандидатите со избран број 5 се посупериорни од кандидатот со избран број 3. Другите кандидати, со избрани броеви 1 и 3, не се посупериорни од никој од другите кандидати.



 Submit your code