100000005 - smallest multiple

Time Limit

10 毫秒

Memory Limit

128 MB

通过次数

2

提交次数

3

一般我们用辗转相除法求两个数的最小公倍数,现在NOI的竞赛规则允许调用内置的__gcd函数。

我们的问题是,求出从1到n所有自然数的最小公倍数。

Input

n

测试点1:n=20

测试点2:n=30

测试点3:n=42

Output

Examples

Input

10

Output

2520

Hint

a、利用公式:lcm(a,b)=a*b/gcd(a,b)求出lcm(a,b),而后求gcd(lcm(a,b),c)……直到得到最后结果。

b、对a,b,c,d...每个数进行质因数分解,而后求所有质因数最高次幂的乘积。

因为这个问题在n=43时就已经溢出了,所以一般我们采用a算法就没问题,b算法也是可行算法,但编码量大,使用unordered_map等结构,导致其实际运行效率并不比第一种好。