#include <bits/stdc++.h>
using namespace std;
int f(vector<int>& a,int n) {
unordered_map<int,int> freq;
for(int i=0;i<n;i++) {
int num=a[i];
for(int j=1;j*j<=num;j++) {
if(num%j==0) {
freq[j]++;
if(j!=num/j) {
freq[num/j]++;
}
}
}
}
int x=1;
for(auto it=freq.begin();it!=freq.end();it++) {
int factor=it->first;
int count=it->second;
if(count>=2) {
x=max(x,factor);
}
}
return x;
}
int main() {
int n;
cin>>n;
vector<int> a(n);
for(int i=0;i<n;i++) {
cin>>a[i];
}
cout<<f(a,n)<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZih2ZWN0b3I8aW50PiYgYSxpbnQgbikgewogICAgdW5vcmRlcmVkX21hcDxpbnQsaW50PiBmcmVxOwoKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIHsKICAgICAgICBpbnQgbnVtPWFbaV07CiAgICAgICAKICAgICAgICBmb3IoaW50IGo9MTtqKmo8PW51bTtqKyspIHsKICAgICAgICAgICAgaWYobnVtJWo9PTApIHsKICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBmcmVxW2pdKys7CiAgICAgICAgICAgICAgICBpZihqIT1udW0vaikgewogICAgICAgICAgICAgICAgICAgIGZyZXFbbnVtL2pdKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAJCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgaW50IHg9MTsKICAgIGZvcihhdXRvIGl0PWZyZXEuYmVnaW4oKTtpdCE9ZnJlcS5lbmQoKTtpdCsrKSB7CiAgICAgICAgaW50IGZhY3Rvcj1pdC0+Zmlyc3Q7CiAgICAgICAgaW50IGNvdW50PWl0LT5zZWNvbmQ7CiAgICAgICAgaWYoY291bnQ+PTIpIHsKICAgICAgICAgICAgeD1tYXgoeCxmYWN0b3IpOwogICAgICAgCiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiB4Owp9CgppbnQgbWFpbigpIHsKICAgIGludCBuOwogICAgY2luPj5uOwogICAgdmVjdG9yPGludD4gYShuKTsKCiAgICBmb3IoaW50IGk9MDtpPG47aSsrKSB7CiAgICAgICAgY2luPj5hW2ldOwogICAgfQoKICAgIGNvdXQ8PGYoYSxuKTw8ZW5kbDsKICAgIHJldHVybiAwOwp9Cg==