#include <bits/stdc++.h>
using namespace std;

long int ucln(long int a, long int 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 long bcnn(long long a,long long b)
{
    return (a*b)/ucln(a,b);
}
int main()
{
   ifstream f1("UCBC.inp");
   ofstream f2("UCBC.out");
   long long n;
   long long d,D;
   f1>>n;
   long int a[10000];
   for(long long i=0;i<n;i++)
   {
       f1>>a[i];
   }
   d=ucln(a[0],a[1]);
   D=bcnn(a[0],a[1]);
   for(long long i=2;i<n;i++)
   {
       d=ucln(d,a[i]);
       D=bcnn(D,a[i]);
   }
   f2<<d<<endl<<D;
   f1.close();
   f2.close();
   return 0;
}
