#include <iostream>
#include<queue>
#include <algorithm>
#include <map>
#include<unordered_map>
#include <set>
#include <fstream>
#include <vector>
#include <math.h>
#include <iomanip>
#include <string>
#include <cstring>
using namespace std;
#define ll long long
ll mod = 1e9+7;
const int N = 1e6;
int MOD = 998244353;
int bit[200000];
ll dem=0;
int main() {
//freopen("CSBN.INP", "r", stdin);
//freopen("CSBN.OUT", "w", stdout);
int n;
cin >> n;
int x;
unordered_map<int,int> cnt;
for(int i=1;i<=n;i++){
cin >> x;
cnt[x]++;
}
for(int i = N; i >= 1; i--){
int k = 0;
for(int j=i; j<=N;j+=i){
k += cnt[j];
}
if(k >= 2){
cout << i;
return 0;
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxxdWV1ZT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPG1hcD4KI2luY2x1ZGU8dW5vcmRlcmVkX21hcD4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGZzdHJlYW0+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgbGwgbG9uZyBsb25nCgpsbCBtb2QgPSAxZTkrNzsKY29uc3QgaW50IE4gPSAxZTY7CmludCBNT0QgPSA5OTgyNDQzNTM7CmludCBiaXRbMjAwMDAwXTsKbGwgZGVtPTA7CgppbnQgbWFpbigpIHsKCS8vZnJlb3BlbigiQ1NCTi5JTlAiLCAiciIsIHN0ZGluKTsKCS8vZnJlb3BlbigiQ1NCTi5PVVQiLCAidyIsIHN0ZG91dCk7CglpbnQgbjsKCWNpbiA+PiBuOwoJaW50IHg7CgoJdW5vcmRlcmVkX21hcDxpbnQsaW50PiBjbnQ7Cglmb3IoaW50IGk9MTtpPD1uO2krKyl7CgkJY2luID4+IHg7CgkJCgkJY250W3hdKys7Cgl9Cglmb3IoaW50IGkgPSBOOyBpID49IDE7IGktLSl7CiAgICAgICAgaW50IGsgPSAwOwogICAgICAgIGZvcihpbnQgaj1pOyBqPD1OO2orPWkpewogICAgICAgICAgICBrICs9IGNudFtqXTsKICAgICAgICB9CiAgICAgICAgaWYoayA+PSAyKXsKICAgICAgICAgICAgY291dCA8PCBpOwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9Cn0=