Человек-Паук в Баку
Человек-Паук в Баку
Когда Человек-Паук услышал, что в Баку много высоких зданий, он сразу же решил отправиться в Баку. Человек-Паук не в силах совладать с собой, когда увидел здесь высокие здания. Он начал перебегать от одного здания к другому и так без остановки прыгал.
В Баку имеется n зданий. Высота i-го здания равна hi
метров.
После длительного наблюдения за Человеком-Пауком вы увидели, что он может прыгнуть с i-го здания на j-е только в том случае, если остаток от деления hi
на hj
равно k.
Ваша задача — определить для каждого здания, на сколько других зданий Человек-Паук может прыгнуть прямо из этого здания.
Входные данные
В первой строке заданы два целых числа n (1 ≤ n ≤ 3 * 105
) и k (0 ≤ k ≤ 106
). В следующей строке заданы n целых чисел h1
, h2
, ..., hn
(1 ≤ hi
≤ 106
).
Выходные данные
Выведите n целых чисел, разделенных пробелами, в одной строке. i-е из этих чисел должно быть равно количеству других зданий, с которых Человек-Паук может напрямую спрыгнуть с i-го здания.
Пояснение
В третьем тесте Вы можете прыгнуть со здания 1 на любое другое здание. Со здания 2 нельзя перепрыгнуть на любое другое здание. Вы можете прыгать только со здания 3 на здание 2. Вы можете прыгать только со здания 4 на здание 3. Вы можете прыгать с 5-го здания на 2-е и 4-е здания.
2 3 9 9
0 0
4 3 7 4 17 1
1 0 1 0
5 1 1 2 3 4 5
4 0 1 1 2