#P3398. 第1题-小苯的GCD疑惑

第1题-小苯的GCD疑惑

题目内容

小苯有一个长度为 nn 的数组 {a1,a2,...,ana_1,a_2,...,a_n} ,他最多可以执行一次以下操作:

  • 选择一个区间 [l,r](1lrn)[l,r](1 ≦l≦r≦ n),将区间中所有数字都乘上 kk

他想知道,操作结束后,数组的 gcdgcd 最大可以变为多少,请你帮他算一算吧。

gcdgcd,即最大公约数。例如,12123030 的公约数有 1,2,3,61,2,3,6 其中最大的约数是 66 ,因此 gcd(12,30)=6gcd(12,30)= 6

输入描述

每个测试文件包含多组测试数据。第一行输入一个整数 T(1T100)T(1≦T≦100) 代表数据组数,每组测试数据描述如下

第一行输入两个正整数

n,k(1n2×105;1k109)n,k(1≦n≦2×10^5;1≦k≦10^9) 代表数组中的元素个数、乘数。

第二行输入 nn 个整数 a1,a2,...,an(0ai109)a_1,a_2,...,a_n(0≦a_i≦10^9) ,表示数组 aa

除此之外,保证单个测试文件的 nn 之和不超过 3×1053×10^5

输出描述

对于每一组测试数据,新起一行,输出一个整数,表示操作结束后,数组的 gcdgcd 最大可以变为多少。

样例1

输入

2
5 3
1 1 3 6 9
3 1
1 2 3

输出

3
1

说明

对于第一组对试数据,可以选择 [1,2][1,2] 这个区间执行操作,执行后数组变为 {3,3,3,6,93,3,3,6,9} ,此时数组的 gcdgcd33 ,达到最大。

对于第二组测试数据,无论选择哪个区间执行操作,数组的 gcdgcd 都不会改变。