#P1985. 翻车(rollover)

翻车(rollover)

【问题描述】

有一天,小武找到了翻车王,给了他n个整数a1,a2,a3,…,an,翻车王需要选择其中的k个数,使得选出的k个数中任意两个的差都可以被m整除。选出的数可以重复,但不可以超过这n个数中该数的个数。

【输入格式】

第1行包括3个整数n、k和m。

第2行包括n个数a1,a2,a3,…,an。

【输出格式】

如果不可以选出k个数,使得选出这k个数中任意两个的差都可以被m整除,那么输出“No”。

否则,在第1行输出“Yes”。在第2行输出这k个整数b1,b2,…,bk(所选的数字),每两个数之间有一个空格。如果有多种选择k个数字的方案,请输出任意一种。

【输入样例】

4 3 5
2 7 7 7

【输出样例】

Yes
2 7 7

【数据范围】

对于20%的数据满足:n≤15。

对于50%的数据满足:n≤1000。

另外20%的数据满足:m≤1000。

对于100%的数据满足:2≤k≤n≤10^5,1≤m≤10^5,0≤ai≤10^9。