import numpy as np

n=int(eval(input()))

T=np.array([int(eval(input())) for _ in range(n)], dtype=np.int64)



def gcd(x,y):

    if x<y:

        x,y=y,x

    if y==0:

        return x

    return gcd(y, x%y)



ans=1

for t in T:

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



print(ans)
def GCD(x, y):

    if y == 0:

        return x

    return GCD(y, x % y)





N = int(eval(input()))

ans = 1

for _ in range(N):

    T = int(eval(input()))

    ans = ans // GCD(ans, T) * T

print(ans)
import numpy as np

n = int(eval(input()))
T = np.array([int(eval(input())) for _ in range(n)], dtype=np.int64)


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


ans = 1
for t in T:
    ans *= t // gcd(t, ans)
print(ans)

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


N = int(eval(input()))
ans = 1
for _ in range(N):
    T = int(eval(input()))
    ans = ans // GCD(ans, T) * T
print(ans)

-import numpy as np - -n = int(eval(input())) -T = np.array([int(eval(input())) for _ in range(n)], dtype=np.int64) +def GCD(x, y): +    if y == 0: +        return x +    return GCD(y, x % y) -def gcd(x, y): -    if x < y: -        x, y = y, x -    if y == 0: -        return x -    return gcd(y, x % y) - - +N = int(eval(input())) -for t in T: -    ans *= t // gcd(t, ans) +for _ in range(N): +    T = int(eval(input())) +    ans = ans // GCD(ans, T) * T