#P1029. 学习求余

学习求余

题目描述

禾木上了小学,今天学习了求余,现在她有包含 nn 个数字的数组,她每次可以从这些数字中任选两个数字 A,BA,B,从数组中删除这两个数字。然后进行一次求余操作,可以是 A%BA \% B,也可以是 B%AB \% A,将求余之后得到的新数字加入数组中。

删除了两个数字,加入了一个数字,所以数组的数字个数减少了一个,经过 n1n-1 次操作之后,她得到了一个数字。现在她想让最后剩余的这一个数字尽可能大,请问这个数字最大是多少?

输入格式

第一行输入一个正整数 nn,表示数字的个数。接下来一行包含 nn 个正整数,其中第 ii 个正整数为 ai(1ai106)a_i(1 \leq a_i \leq 10^6)保证所有数字均不同

输出格式

输出一行一个正整数表示答案。

3
100 200 301
100

说明

先拿出 200 和 301,用 301 对 200 求余,得到 101。然后数组中还剩 100 和 101,用 100 对 101 求余,得到 100,是能够生成的最大的数字。生成的方案不唯一,但是无法生成一个比 100 还大的数字了。

测试点说明

测试点编号 nn \leq
1-2 2
3-4 3
5-10 10510^5

大样例

T1sample