#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
int n;
int a[100000000];
while( cin >> n ){
for(int i=0; i<n; i++)
cin >> a[i];
sort(a, a+n);
int min = a[0];
int max = a[n-1];
vector<int> v1;
vector<int> v2;
vector<int> v;
for(int i=1; i*i<=min+10; i++){
if( min % i == 0 )
v1.insert(v1.begin(), i);
}
v1.insert(v1.begin(),min);
for(int i=1; i*i<=max+10; i++){
if( max % i == 0 )
v2.insert(v2.begin(), i);
}
v2.insert(v2.begin(),max);
cout << min << " "<< max << " " ;
for(int i=0; i<v1.size(); i++){
for(int j=0; j<v2.size(); j++){
if( v1[i] == v2[j] )
v.push_back(v1[i]);
}
}
sort(v.begin(), v.end());
cout << v[v.size()-1] << endl;
// cout << min << " " << max;
}
return 0;
}