#include<stdio.h>
int main()
{
int n,m,i,j,p;
int a[100];
while(scanf("%d",&n)!=EOF)
{
scanf("%d",&a[0]);
p=a[0];
for(i=1;i<n;i++)
{
scanf("%d",&a[i]);
for(j=a[i];;j+=a[i])
{
if(j%p==0)
{
p=j;
break;
}
}
}
printf("%d\n",p);
}
return 0;
}
//用数组存储这一系列数,先计算前两个数的最小公倍数,然后调进一个数就计算这个数和前面所有数最小公倍数的最小公倍数直到所有输都调用完毕,循环结合数组
//注意j+=a[i]的精妙之处,因为j首先得是第i个数的公倍数,当然更节约时间的是把循环条件换做for(j=p;;j+=p){if(j%a[i]==0)p=j;break;}