#3339. 最大公因数

最大公因数

题目描述

对于两个正整数 a, b,它们的最大公因数记为 gcd(a, b)。对于 k ≥ 3 个正整数 C₁, C₂, ..., Cₖ,它们的最大公因数为:

gcd(C₁, C₂, ..., Cₖ) = gcd(gcd(C₁, C₂, ..., Cₖ₋₁), Cₖ)

给定 n 个正整数 a₁, a₂, ..., aₙ 以及 Q 组询问。对于第 i(1 ≤ i ≤ Q)组询问,请求出 a₁+i, a₂+i, ..., aₙ+i 的最大公因数,也即 gcd(a₁+i, a₂+i, ..., aₙ+i)。

输入格式

第一行,两个正整数 n, Q,分别表示给定正整数的数量,以及询问组数。

第二行,n 个正整数 a₁, a₂, ..., aₙ。

输出格式

输出共 Q 行,第 i 行包含一个正整数,表示 a₁+i, a₂+i, ..., aₙ+i 的最大公因数。

样例

输入样例 1

5 3
6 9 12 18 30

输出样例 1

1
1
3

输入样例 2

3 5
31 47 59

输出样例 2

4
1
2
1
4

数据范围

对于 60% 的测试点,保证 1 ≤ n ≤ 1000,1 ≤ Q ≤ 10。

对于所有测试点,保证 1 ≤ n ≤ 1e5,1 ≤ Q ≤ 1e5,1 ≤ i ≤ 1000。