### 问题描述
作为探险小队的一员,你们成功进入了一个藏有宝藏的洞穴。但在前往宝藏的路上,你们遇到了一条阻挡去路的大河。这条河里住着一只居住了千年的乌龟,它愿意帮助你们过河,但在过河的过程中,乌龟会不断地提问。如果你们不能及时回答正确,乌龟将会把你们丢入河中。
在出发前,乌龟会给你们一个长度为 n 的数组 a 。在过河的途中,乌龟总共会提出 q 个问题。对于每个问题,它会给出一个整数 k ,并询问从数组 a 中任意选 k 个数,使得它们的最大公约数尽量大,这个最大的公约数是多少?需要注意一点,一个数最大公约数我们视为它本身。
作为队内最聪明的人,你必须想出一个策略来回答乌龟的问题,成功帮助小队安全过河。
第一行输入两个整数 n 和 q ,表示数组 a 的长度和询问的次数。
第二行输入 n 个整数表示数组 a,以空格隔开。
接下来 q 行,每行一个整数 k 。
数据保证 2≤n≤105,1≤ai≤105,1≤q≤105,1≤k≤n。
输出 q 行,第 i 行表示第 i 次询问的答案。
5 3
1 2 3 4 6
2
3
5
3
2
1
对于样例的第一个询问,gcd,对于第二个询问 \gcd(2,4,6)=2,对于第三个询问 \gcd(1,2,3,4,6)=1。