← Home
write a go solution for Description:
For the multiset of positive integers s=s_1,s_2,...,s_k, define the Greatest Common Divisor (GCD) and Least Common Multiple (LCM) of s as follow:

- gcd(s) is the maximum positive integer x, such that all integers in s are divisible on x.
- textrmlcm(s) is the minimum positive integer x, that divisible on all integers from s.

For example, gcd(8,12)=4,gcd(12,18,6)=6 and textrmlcm(4,6)=12. Note that for any positive integer x, gcd(x)=textrmlcm(x)=x.

Orac has a sequence a with length n. He come up with the multiset t=textrmlcm(a_i,a_j)|i<j, and asked you to find the value of gcd(t) for him. In other words, you need to calculate the GCD of LCMs of all pairs of elements in the given sequence.

Input Format:
The first line contains one integer n(2<=n<=100,000).

The second line contains n integers, a_1,a_2,ldots,a_n (1<=a_i<=200,000).

Output Format:
Print one integer: gcd(textrmlcm(a_i,a_j)|i<j).

Note:
For the first example, t=textrmlcm(1,1)=1, so gcd(t)=1.

For the second example, t=120,40,80,120,240,80, and it's not hard to see that gcd(t)=40.. Output only the code with no comments, explanation, or additional text.