# include <stdio.h>
# include <malloc.h>
int gcd(int , int);
int lcm(int , int);
int main(void)
{
int i, n;
unsigned long * p;
while(scanf("%d", &n)!=EOF)
{
unsigned long num_lcm=1;
p = (unsigned long *)malloc(n*sizeof(unsigned long));
for(i=0; i<n; i++)
scanf("%lu", p+i);
for(i=0;i<n;i++)
{
num_lcm=lcm(num_lcm,p[i]);
}
printf("%lu\n", num_lcm);
free(p);
}
return 0;
}
int gcd(int num1, int num2)
{
int t;
if(num1<num2)
{
t=num1;num1=num2;num2=t;
}
if(num1%num2==0)
return num2;
else
return gcd(num2,num1%num2);
}
int lcm(int a, int b)
{
return a/gcd(a,b)*b;//防止溢出
}
# include <malloc.h>
int gcd(int , int);
int lcm(int , int);
int main(void)
{
int i, n;
unsigned long * p;
while(scanf("%d", &n)!=EOF)
{
unsigned long num_lcm=1;
p = (unsigned long *)malloc(n*sizeof(unsigned long));
for(i=0; i<n; i++)
scanf("%lu", p+i);
for(i=0;i<n;i++)
{
num_lcm=lcm(num_lcm,p[i]);
}
printf("%lu\n", num_lcm);
free(p);
}
return 0;
}
int gcd(int num1, int num2)
{
int t;
if(num1<num2)
{
t=num1;num1=num2;num2=t;
}
if(num1%num2==0)
return num2;
else
return gcd(num2,num1%num2);
}
int lcm(int a, int b)
{
return a/gcd(a,b)*b;//防止溢出
}