|시간 제한||메모리 제한||제출||정답||맞은 사람||정답 비율|
|2 초||512 MB||4||1||1||25.000%|
Little Ivan likes to play Yamb and read Marvel superhero comics. His favorite superhero is spider-man, a friendly neighbourhood teenager named Peter Parker who got his superpowers via a radioactive spider bite. Ivan fantasizes that one day he will be able to jump from one skyscraper to another, just like spider-man does in the comics. During one such fantasy, he fell asleep.
In his dream he was no longer named Ivan, his name was Peter Parkour and, you guessed it, he was able to use his parkour1 skills to jump between skyscrapers. He quickly realized that there are exactly N skyscrapers in his surroundings and he somehow knew that i-th of those skyscrapers is hi meters tall. He knows that he is able to jump from the i-th skyscraper to the j-th skyscraper if the remainder when dividing hi with hj is equal to K. Help Ivan determine, for every skyscraper, the number of other skyscrapers he can jump to.
1Internet sensation of 2004., it was in the Bond films, the goal is to get from point A to point B as creatively as possible.
The first line contains two integers N (1 ≤ N ≤ 300 000) and K (0 ≤ K < 106) from the task description.
The next line contains N integers hi (1 ≤ hi ≤ 106) from the task description.
In a single line you should output N space-separated integers such that the i-th of those integers represents the number of different skyscrapers on which Peter Parkour can jump on if he jumps from the i-th skyscraper.
2 1 5 5
6 3 4 3 12 6 8 2
0 4 0 0 0 0
5 1 1 3 5 7 2
4 1 1 2 0
Clarification of the third example: