彼得和他的王国 2
题号:NC230335
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

注意:这和彼得和他的王国 1 有两点不同:1. 这里的彼得已经不可十世了,2. 因为不可十世,所以他的城市人口的数据范围较大

不可十世的彼得建立了彼氏王国,他的王国里有 n 个城市。因为不可十世,所以彼得感到无聊,他开始转头研究起了人口统计和玄学。

根据人口统计学,彼得统计出了他的王国里每个城市中的人口数,如果我们把 n 个城市从 1n 依次编号,那么第 i 个城市里有 P_i 个人。

根据玄学,彼得认为数论中的[公因数]具有着神秘的力量。他开始细心研究任意两个城市的人口的对应着的公因数。

比如若彼得的城市对应的人口构成了一个序列:,那么我们有:

  • 1 个城市和第 2 个城市对应的公因数为:1
  • 1 个城市和第 3 个城市对应的公因数为:1, 7
  • 2 个城市和第 3 个城市对应的公约数为:1, 2, 3, 6

那么彼得得到了 1, 2, 3, 6, 7 这些数,他打算在这里面找出最大的公因数,是 7。但是问题总是残酷的:

然而现实总是残酷的,彼得的脑容量太小,无法处理太大的数,他决定只找到在 的范围内最大的公因数。

比如彼得的大脑无法处理大于 5 的数(没错,国王是不需要学数学的),那么他认为 3 才是最大的公因数。

这个简单的任务对于彼得而言还是太难了,你能帮帮他吗?


输入描述:

第一行是两个整数,分别代表着 ln,其中  是彼得国王能处理的最大的数字,而  是彼得王国的城市的数目。

第二行有 n 个整数,编号第 1 个一直到第 n 个,第 i 个数字代表了 ,即第 i 个城市的人口数量。

输出描述:

输出国王认为的最大的公因数。
示例1

输入

复制
5 3 
49 24 42

输出

复制
3
示例2

输入

复制
11 2
9 27

输出

复制
9