#1469. 最大公约数

最大公约数

题目描述

给定一个长度为 nn 的整数序列 a1,a2,,ana_1, a_2, \dots, a_n 和一个非负整数 kk,你可以最多执行以下操作一次:选择两个整数 ll 和 rr(满足 1lrn1 \leq l \leq r \leq n),然后将区间 [l,r][l, r] 内的每个元素 aia_i  替换为 ai+ka_i + k。请最大化操作后整个序列的最大公约数GCD(GCD)。定义:若整数 gg 是整个序列的公约数,则对于所有 1in1 \leq i \leq naia_i 能被 gg 整除。

输入格式

第一行包含两个整数 nn 和 kk1n3×1051 \leq n \leq 3 \times 10^50k10180 \leq k \leq 10^{18})。第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai10181 \leq a_i \leq 10^{18}),表示序列。

输出格式

输出一行一个整数,表示操作后序列的最大可能最大公约数。

样例

输入

6 2  
5 3 13 8 10 555  

5

输入

3 0  
3 6 9

3

样例解释

第一个测试用例中,选择区间 ([2, 4]),操作后的序列为 ({5, 5, 15, 10, 10, 555}),其最大公约数为 5。第二个测试用例中,(k = 0),操作不会改变序列,原序列的最大公约数为 3。

限制与约定

对于 40%40\%的样例,保证 1n1001 \leq n \leq 1000k1000 \leq k \leq 1001ai1051 \leq a_i \leq 10^5

对于 100%100\%的样例,保证 1n3×1051 \leq n \leq 3 \times 10^50k10180 \leq k \leq 10^{18}1ai10181 \leq a_i \leq 10^{18}

  • 时间限制: 1s1 s
  • 空间限制: 256MB256 MB