题目描述
给定 n 个整数 a1,a2,…,an。
对这些整数两两之间求最小公倍数能够得到 2n⋅(n−1) 个最小公倍数 lcm(a1,a2),lcm(a1,a3),lcm(a1,a4),……,lcm(an−1,an)。其中 lcm(ai,aj) 表示 ai 和 aj 的最小公倍数(其中 1≤i<j≤n)。
求所有得到的最小公倍数的最大公约数。
也就是说,你需要找一个最大的正整数 x,使得对于任意 1≤i<j≤n,整数 lcm(ai,aj) 都是 x 的倍数。
输入格式
第一行,一个整数 n(1≤n≤100000)。
第二行,n 个整数 a1,a2,…,an(1≤ai≤20000),两两之间以一个空格分隔。
输出格式
输出一个整数,表示得到的所有 lcm(ai,aj)(其中 1≤i<j≤n)的最大公约数。
2
1 1
1
4
10 24 40 80
40
10
540 648 810 648 720 540 594 864 972 648
54
说明/提示
样例解释
样例1:能够得到的最小公倍数只有一个 1,对应的最大公约数也是 1。
样例2:能够得到的最小公倍数有 120, 40, 80, 120, 240, 80,它们的最大公约数是 40。
样例3:能够得到的最小公倍数有 3240, 1620, 3240, 2160, 540, 5940, 4320, 4860, 3240, 3240, 648, 6480, 3240, 7128, 2592, 1944, 648, 3240, 6480, 1620, 8910, 12960, 4860, 3240, 6480, 3240, 7128, 2592, 1944, 648, 2160, 23760, 4320, 19440, 6480, 5940, 4320, 4860, 3240, 9504, 10692, 7128, 7776, 2592, 1944,它们的最大公约数是 54。
数据规模与约定
- 对于 30% 的数据,n≤10;ai≤20
- 对于 60% 的数据,n≤1000;ai≤2000
- 对于 100% 的数据,2≤n≤100000;1≤ai≤200000