#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;
vector<ll> v(n+1);
map<int,int> mp;
int max=0;
map<int,int> cnt;
for(int i=1;i<=n;i++){
cin >> v[i];
mp[v[i]]++;
}
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+PiBuOwoJdmVjdG9yPGxsPiB2KG4rMSk7CgltYXA8aW50LGludD4gbXA7CglpbnQgbWF4PTA7CgltYXA8aW50LGludD4gY250OwoJZm9yKGludCBpPTE7aTw9bjtpKyspewoJCWNpbiA+PiB2W2ldOwoJCgkJbXBbdltpXV0rKzsKCX0KCWZvcihpbnQgaSA9IE47IGkgPj0gMTsgaS0tKXsKICAgICAgICBpbnQgayA9IDA7CiAgICAgICAgZm9yKGludCBqPWk7IGo8PW47ais9aSl7CiAgICAgICAgICAgIGsgKz0gY250W2pdOwogICAgICAgIH0KICAgICAgICBpZihrID49IDIpewogICAgICAgICAgICBjb3V0IDw8IGk7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgIH0KfQ==