题目描述
小伊凡喜欢玩 Yamb,喜欢看漫威超级英雄漫画。 他的 最喜欢的超级英雄是蜘蛛侠,一个友好的邻里少年,名叫 通过放射性蜘蛛咬伤获得超能力的彼得帕克。 伊万 幻想有一天他能从一座摩天大楼跳到 另一个,就像漫画中的蜘蛛侠一样。 在一个这样的幻想中, 他睡着了。
在他的梦里,他不再叫伊万,他的名字是彼得·帕库,而且, 你猜对了,他能够使用他的跑酷1 在摩天大楼之间跳跃的技能。 他很快意识到 他的周围恰好有 N 座摩天大楼,他不知何故知道这些摩天大楼中的第 i 个 是喜米高。 他知道他能够从第 i 个摩天大楼跳到第 j 个摩天大楼,如果 hi 除以 hj 的余数等于 K。帮助 Ivan 确定每个摩天大楼的数量 他可以跳到的其他摩天大楼。
输入格式
第一行包含来自任务描述的两个整数 $N (1 ≤ N ≤ 300 000) 和 K (0 ≤ K < 10^6)。$
下一行包含来自任务描述的 N 个整数 $hi (1 ≤ hi ≤ 10^6)。$
输出格式
在一行中,您应该输出 N 个以空格分隔的整数,使得这些整数中的第 i 个表示 如果彼得跑酷从第 i 层跳下来,他可以跳上的不同摩天大楼的数量 摩天大楼。
样例 #1
样例输入 #1
2 1
5 5
样例输出 #1
0 0
样例 #2
样例输入 #2
6 3
4 3 12 6 8 2
样例输出 #2
0 4 0 0 0 0
样例 #3
样例输入 #3
5 1
1 3 5 7 2
样例输出 #3
4 1 1 2 0
提示
在总分 14 分的测试用例中,它将保持 1 ≤ N ≤ 2 000
在额外 14 分的测试用例中,最多会有 2000 座不同高度的摩天大楼。
在值得额外 14 分的测试用例中,它将保持 K = 0。
第三个例子的说明:
从第一个高度为 1 的摩天大楼开始,彼得可以跳上任何其他摩天大楼。
从高度为 3 的第二座摩天大楼,彼得只能跳到高度为 2 的摩天大楼上。
从第三座高度为 5 的摩天大楼,彼得只能跳到高度为 2 的摩天大楼上。
从高度为 7 的第四座摩天大楼,彼得可以跳上高度为 2 和 3 的摩天大楼。
从高度为 2 的第五座摩天大楼开始,彼得无法跳上任何其他摩天大楼。