'use strict';

const input = require('fs').readFileSync('/dev/stdin', 'utf8').trim().split('\n');
//　最初の行の数値を獲得
const info = input.shift();

// 配列の重複を消したかったので
const inputSet = new Set(input);

// 全部掛け合わせたものを算出
let mul = 1;

for(let i of inputSet) {
	mul *= i;
}

// 最大公約数の式
let gcd = (a,b) =>{
	return a == 0 ? b : gcd(b % a , a);
}

// 最小公倍数を求める式
let lcm = (c,d) =>{
	return c * d / gcd(c, d);
}

// setを配列に戻す
let nums = [...inputSet];
let lcmNum = 1;

// 片っ端から、最小公倍数を取っていく
for(let i of nums){
  lcmNum = lcm(lcmNum,i);
}

console.log(lcmNum);


