from functools import reduce

from fractions import gcd





def lcm(x, y):

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





n = int(eval(input()))

t = [int(eval(input())) for _ in range(n)]



print((reduce(lcm, t)))

import sys

stdin = sys.stdin

sys.setrecursionlimit(10 ** 7)

from functools import reduce



i_i = lambda: int(i_s())

i_l = lambda: list(map(int, stdin.readline().split()))

i_s = lambda: stdin.readline().rstrip()



def gcd(a,b):

    while b:

        a, b = b, a%b

    return a



def lcm(a,b):

    return a*b//gcd(a,b)



def lcm_list(l):

    return reduce(lcm, l, 1)



N = i_i()

T = [i_i() for _ in range(N)]



print((lcm_list(T)))
from functools import reduce
from fractions import gcd


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


n = int(eval(input()))
t = [int(eval(input())) for _ in range(n)]
print((reduce(lcm, t)))

import sys

stdin = sys.stdin
sys.setrecursionlimit(10**7)
from functools import reduce

i_i = lambda: int(i_s())
i_l = lambda: list(map(int, stdin.readline().split()))
i_s = lambda: stdin.readline().rstrip()


def gcd(a, b):
    while b:
        a, b = b, a % b
    return a


def lcm(a, b):
    return a * b // gcd(a, b)


def lcm_list(l):
    return reduce(lcm, l, 1)


N = i_i()
T = [i_i() for _ in range(N)]
print((lcm_list(T)))

+import sys + +stdin = sys.stdin +sys.setrecursionlimit(10**7) -from fractions import gcd + +i_i = lambda: int(i_s()) +i_l = lambda: list(map(int, stdin.readline().split())) +i_s = lambda: stdin.readline().rstrip() -def lcm(x, y): -    return x * y // gcd(x, y) +def gcd(a, b): +    while b: +        a, b = b, a % b +    return a -n = int(eval(input())) -t = [int(eval(input())) for _ in range(n)] -print((reduce(lcm, t))) +def lcm(a, b): +    return a * b // gcd(a, b) + + +def lcm_list(l): +    return reduce(lcm, l, 1) + + +N = i_i() +T = [i_i() for _ in range(N)] +print((lcm_list(T)))