正整数a和b的最小公倍数是指a和b的所有公倍数中最小的那个公倍数,例如4和6的最小公倍数12,3和 9的最小公倍数为9。

最小公倍数的求解在最大公约数的基础上进行,当得到a和b的最大公约数d的时候,可以马上得到a和b的最小公倍数是ab/d。

怎么理解呢?a和b的最大公约数就是集合a和集合b的交集,而最小公倍数为集合a和集合b的并集。要得到并集,由于ab会使公因子多计算一次,因此需要除掉一次公因子。

由于ab在实际计算的时候可能出现溢出的情况,因此更恰当的写法是 a/b*d。由于d是a和b的最大公约数,因此a/d一定可以整除。

多点测试:

样例输入

2
2 3 5
3 4 6 12

样例输出

15
12

程序:


#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <string>
#include <cstring>
#include <sstream>
#include <cmath>
#include <vector>
#include <algorithm>


using namespace std;


int gcd(int a,int  b)
{
    return !b?a:gcd(b,a%b);
}


int lcm(int a,int b)
{
    return a/gcd(a,b)*b;

}


int main()
{

    int n;

    cin>>n;

    for(int i=0;i<n;i++)
    {
        int m;

        cin>>m;

        int a,b;
        cin>>a;

        for(int j=0;j<m-1;j++)
        {


            cin>>b;

            a=lcm(a,b);


        }



        cout<<a<<endl;




    }




    return 0;
}