#include <bits/stdc++.h>
using namespace std;
long ucln(long a,long b)
{
    if(a>b){
        for(long i=a;i>=1;i--){
            if(a%i==0 && b%i==0){
                return i;
                break;
            }
        }
    }
    if(a<b){
        for(long j=b;j>=1;j--){
            if(b%j==0 && a%j==0){
                return j;
                break;
            }
        }
    }
    if(a==b){
        return a;
    }
}
long bcnn(long c,long d)
{
    if(c>d){
        for(long i=c;i<=1000000;i++){
            if(i%c==0 && i%d==0){
                return i;
                break;
            }
        }
    }
    if(c<d){
        for(long j=d;j<=1000000;j++){
            if(j%c==0 && j%d==0){
                return j;
                break;
            }
        }
    }
    if(c==d){
        return c;
    }
}
int main()
{
    ifstream f1("UCBC.inp");
    ofstream f2("UCBC.out");
    long n,d,D;
    long s[10000];
    f1>>n;
    for(long k=0;k<n;k++){
        f1>>s[k];
    }
    d=ucln(s[0],s[1]);
    D=bcnn(s[0],s[1]);
    for(long l=2;l<n;l++){
        d=ucln(d,s[l]);
        D=bcnn(D,s[l]);
    }
    f2<<d<<endl;
    f2<<D;
    f1.close();
    f2.close();
}
