from collections import deque

N = int(eval(input()))

T = list(set([int(eval(input())) for _ in range(N)]))

ret = T[0]



def gcd(a, b):

  if b == 0:

    return a

  else:

    return gcd(b, a % b)



for t in T[1:]:

  ret = ret * t // gcd(ret, t)

  

print(ret)
import sys

input = sys.stdin.readline

N = int(eval(input()))



def gcd(x, y):

    if y == 0:

        return x

    return gcd(y, x % y)



def lcm(x, y):

    return x * y // gcd(x, y)



T = int(eval(input()))

for i in range(N-1):

    T_ = int(eval(input()))

    T = lcm(T, T_)



print(T)
from collections import deque

N = int(eval(input()))
T = list(set([int(eval(input())) for _ in range(N)]))
ret = T[0]


def gcd(a, b):
    if b == 0:
        return a
    else:
        return gcd(b, a % b)


for t in T[1:]:
    ret = ret * t // gcd(ret, t)
print(ret)

import sys

input = sys.stdin.readline
N = int(eval(input()))


def gcd(x, y):
    if y == 0:
        return x
    return gcd(y, x % y)


def lcm(x, y):
    return x * y // gcd(x, y)


T = int(eval(input()))
for i in range(N - 1):
    T_ = int(eval(input()))
    T = lcm(T, T_)
print(T)

-from collections import deque +import sys +input = sys.stdin.readline -T = list(set([int(eval(input())) for _ in range(N)])) -ret = T[0] -def gcd(a, b): -    if b == 0: -        return a -    else: -        return gcd(b, a % b) +def gcd(x, y): +    if y == 0: +        return x +    return gcd(y, x % y) -for t in T[1:]: -    ret = ret * t // gcd(ret, t) -print(ret) +def lcm(x, y): +    return x * y // gcd(x, y) + + +T = int(eval(input())) +for i in range(N - 1): +    T_ = int(eval(input())) +    T = lcm(T, T_) +print(T)