#P402. 数的排序

数的排序

题目描述:

给定NN个非负整数以及kk个正整数aia_i,你需要根据以下规则对这NN个整数进行排序:

1:1:能被a1a_1整除的最为优先

2:2:能被a2a_2整除的次优先

......

k:k:能被aka_k整除的第kk优先

k+1:k+1:整数大的优先

例如:

k=2,a1=3,a2=4k=2,a_1 = 3,a_2 = 4的情况下,整数33排在44前面,因为33能被a1a_1整除,最为优先,因此33的优先级比44高,而12122424都能被a1a_1,a2a_2整除,因为24>1224>12,因此2424优先级比1212高。

同理:99的优先级比1616高。

显然:除去kkaia_i的公倍数外,00的优先级是最高的,因为00能被任意非00整数整除。

请你为这NN个数排序吧!

输入格式:

第一行两个正整数N,kN,k,表示有NN个非负整数以及kk条整除优先规则。

第二行,kk个正整数,表示a1,a2...aka_1,a_2...a_k

第三行,NN个非负整数valval

输出格式:

NN个整数,彼此以单个空格隔开,表示对它们排序后的结果。

样例:

6 2
3 4
0 3 4 6 12 24
24 12 0 6 3 4
4 4
2 3 5 7
2 10 14 105
10 14 2 105

提示:

样例22

能被22(也就是a1a_1)整除的有2,10,142,10,14,而105105不能,因此105105的优先级低于2,10,142,10,14;

2,10,142,10,14当中,没有能被33(也就是a2a_2)整除的;

2,10,142 ,10,14当中,1010能被55(也就是a3a_3)整除,因此1010的优先级高于2,142,14;

2,142,14当中,1414能被77(也就是a4a_4)整除,因此1414优先级高于22;

最终得到优先级排序:

10>14>2>10510>14>2>105

数据约束:

$1\le N \le 3\times10^3,0 \le k\le 30,1\le a_i \le 100,0\le val \le 10^6$,数据保证kk个数aia_i彼此不相等。