#abc136e. [abc136_e]Max GCD

[abc136_e]Max GCD

题目描述

我们有一个由 NN 个整数组成的序列:A1,A2,,ANA_1, A_2, \cdots, A_N

你可以进行 00KK 次(包括 KK)之间的以下操作:

  • 选择两个整数 iijj,使得 iji \neq j,且 iijj 都在 11NN 之间(包括 11NN)。将 AiA_i11,并将 AjA_j11,可能会产生负元素。

计算在进行操作后,可以整除 AA 的每个元素的最大正整数。这里一个正整数 xx 可以整除一个整数 yy 当且仅当存在一个整数 zz ,使得 y=xzy = xz

约束条件

  • 2N5002 \leq N \leq 500
  • 1Ai1061 \leq A_i \leq 10^6
  • 0K1090 \leq K \leq 10^9
  • 输入中所有的值都是整数。

输入

从标准输入读入输入数据。

输入数据的格式如下:

NN KK A1A_1 A2A_2 \cdots AN1A_{N-1} ANA_{N}


输出

打印出在进行操作后,可以整除 AA 的每个元素的最大正整数。


示例输入 1

2 3
8 20

示例输出 1

7

如果我们执行以下操作,77 将整除 AA 的每个元素:

  • 选择 i=2,j=1i = 2, j = 1AA 变为 (7,21)(7, 21)

我们无法得到使得大于等于 88 的整数整除 AA 的每个元素的情况。


示例输入 2

2 10
3 5

示例输出 2

8

考虑执行以下五个操作:

  • 选择 i=2,j=1i = 2, j = 1AA 变为 (2,6)(2, 6)
  • 选择 i=2,j=1i = 2, j = 1AA 变为 (1,7)(1, 7)
  • 选择 i=2,j=1i = 2, j = 1AA 变为 (0,8)(0, 8)
  • 选择 i=2,j=1i = 2, j = 1AA 变为 (1,9)(-1, 9)
  • 选择 i=1,j=2i = 1, j = 2AA 变为 (0,8)(0, 8)

然后,0=8×00 = 8 \times 08=8×18 = 8 \times 1,所以 88 整除 AA 的每个元素。我们无法得到使得大于等于 99 的整数整除 AA 的每个元素的情况。


示例输入 3

4 5
10 1 2 22

示例输出 3

7

示例输入 4

8 7
1 7 5 6 8 2 6 5

示例输出 4

5