小 Ivan 喜欢玩 Yamb 游戏并阅读漫威超级英雄漫画。他最喜欢的超级英雄是蜘蛛侠——一个名叫彼得·帕克(Peter Parker)的友好邻家少年,他通过被放射性蜘蛛咬伤获得了超能力。Ivan 幻想有一天他能像漫画中的蜘蛛侠一样,从一座摩天大楼跳到另一座。在一次这样的幻想中,他睡着了。
在他的梦里,他不再叫 Ivan,他的名字叫彼得·跑酷(Peter Parkour),正如你所料,他能够利用他的跑酷[^1]技能在摩天大楼之间跳跃。他很快意识到周围恰好有 $N$ 座摩天大楼,并且他不知怎的知道其中第 $i$ 座摩天大楼的高度为 $h_i$ 米。他知道,如果 $h_i$ 除以 $h_j$ 的余数等于 $K$,他就可以从第 $i$ 座摩天大楼跳到第 $j$ 座摩天大楼。请帮助 Ivan 确定,对于每一座摩天大楼,他可以跳到的其他摩天大楼的数量。
[^1]: 2004 年的网络热潮,曾出现在邦德电影中,目标是尽可能有创意地从 A 点到达 B 点。
输入格式
第一行包含两个整数 $N$($1 \le N \le 300\,000$)和 $K$($0 \le K < 10^6$),含义如题面所述。
第二行包含 $N$ 个整数 $h_i$($1 \le h_i \le 10^6$),含义如题面所述。
输出格式
输出一行,包含 $N$ 个空格分隔的整数,其中第 $i$ 个整数表示如果彼得·跑酷从第 $i$ 座摩天大楼起跳,他可以跳到的不同摩天大楼的数量。
子任务
- 在价值 14 分的测试数据中,满足 $1 \le N \le 2\,000$。
- 在另外价值 14 分的测试数据中,最多存在 $2\,000$ 座不同高度的摩天大楼。
- 在另外价值 14 分的测试数据中,满足 $K = 0$。
样例
输入样例 1
2 1 5 5
输出样例 1
0 0
输入样例 2
6 3 4 3 12 6 8 2
输出样例 2
0 4 0 0 0 0
输入样例 3
5 1 1 3 5 7 2
输出样例 3
4 1 1 2 0
说明
样例 3 解释:
- 从第一座高度为 $1$ 的摩天大楼,彼得可以跳到任何其他摩天大楼。
- 从第二座高度为 $3$ 的摩天大楼,彼得只能跳到高度为 $2$ 的摩天大楼。
- 从第三座高度为 $5$ 的摩天大楼,彼得只能跳到高度为 $2$ 的摩天大楼。
- 从第四座高度为 $7$ 的摩天大楼,彼得可以跳到高度为 $2$ 和 $3$ 的摩天大楼。
- 从第五座高度为 $2$ 的摩天大楼,彼得无法跳到任何其他摩天大楼。