E. 最大公约数

    Type: Default 1000ms 256MiB

最大公约数

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

给定一个长度为 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