#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<n;i++)
#define per(i,a,n) for(int i=n-1;i>=a;i--)
#define VI vector<int>
#define PII pair<int,int>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define db double
#define all(x) (x).begin(),(x).end()
#define sz(x) ((int)x.size())
mt19937 mrand(random_device{}());
const ll mod = 1000000007;
int rnd(int x){return mrand()%x;}
clock_t ac; double TLE(){return (double)(clock()-ac)/CLOCKS_PER_SEC;}
void DBG() {cerr << "]" << endl;}
template<class H, class... T> void DBG(H h, T... t) {
cerr << to_string(h);
if(sizeof...(t)) cerr << ", ";
DBG(t...);}
#ifdef _DEBUG
#define dbg(...) cerr << "LINE(" << __LINE__ << ") -> [" << #__VA_ARGS__ << "]: [", DBG(__VA_ARGS__)
#else
#define dbg(...) 0
#endif
vector<int> SieveOfEratosthenes(int n)
{
VI v;
bool prime[n+1];
memset(prime, true, sizeof(prime));
for (int p=2; p*p<=n; p++)
{
if (prime[p] == true)
{
for (int i=p*p; i<=n; i += p)
prime[i] = false;
}
}
for (int p=2; p<=n; p++)
if (prime[p])
v.pb(p);
return v;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
int k=0;
int count=0;
int mx = *max_element(a,a+n);
VI v = SieveOfEratosthenes(mx);
for(int y : v){
int c=0;
for(int i=0;i<n;i++){
if(a[i]%y==0)c++;
}
if(c>count){
count =c;
k=y;
}
}
cout<<k<<" "<<count<<"\n";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSByZXAoaSxhLG4pIGZvcihpbnQgaT1hO2k8bjtpKyspCiNkZWZpbmUgcGVyKGksYSxuKSBmb3IoaW50IGk9bi0xO2k+PWE7aS0tKQojZGVmaW5lIFZJIHZlY3RvcjxpbnQ+CiNkZWZpbmUgUElJIHBhaXI8aW50LGludD4KI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGRiIGRvdWJsZQojZGVmaW5lIGFsbCh4KSAoeCkuYmVnaW4oKSwoeCkuZW5kKCkKI2RlZmluZSBzeih4KSAoKGludCl4LnNpemUoKSkKbXQxOTkzNyBtcmFuZChyYW5kb21fZGV2aWNle30oKSk7CmNvbnN0IGxsIG1vZCA9IDEwMDAwMDAwMDc7CmludCBybmQoaW50IHgpe3JldHVybiBtcmFuZCgpJXg7fQpjbG9ja190IGFjOyBkb3VibGUgVExFKCl7cmV0dXJuIChkb3VibGUpKGNsb2NrKCktYWMpL0NMT0NLU19QRVJfU0VDO30Kdm9pZCBEQkcoKSB7Y2VyciA8PCAiXSIgPDwgZW5kbDt9CnRlbXBsYXRlPGNsYXNzIEgsIGNsYXNzLi4uIFQ+IHZvaWQgREJHKEggaCwgVC4uLiB0KSB7CmNlcnIgPDwgdG9fc3RyaW5nKGgpOwppZihzaXplb2YuLi4odCkpIGNlcnIgPDwgIiwgIjsKREJHKHQuLi4pO30KI2lmZGVmIF9ERUJVRwojZGVmaW5lIGRiZyguLi4pIGNlcnIgPDwgIkxJTkUoIiA8PCBfX0xJTkVfXyA8PCAiKSAtPiBbIiA8PCAjX19WQV9BUkdTX18gPDwgIl06IFsiLCBEQkcoX19WQV9BUkdTX18pCiNlbHNlCiNkZWZpbmUgZGJnKC4uLikgMAojZW5kaWYKIAp2ZWN0b3I8aW50PiBTaWV2ZU9mRXJhdG9zdGhlbmVzKGludCBuKSAKeyAgCiAgICBWSSB2OwogICAgYm9vbCBwcmltZVtuKzFdOyAKICAgIG1lbXNldChwcmltZSwgdHJ1ZSwgc2l6ZW9mKHByaW1lKSk7IAogICAgZm9yIChpbnQgcD0yOyBwKnA8PW47IHArKykgCiAgICB7CiAgICAgICAgaWYgKHByaW1lW3BdID09IHRydWUpIAogICAgICAgIHsgIAogICAgICAgICAgICBmb3IgKGludCBpPXAqcDsgaTw9bjsgaSArPSBwKSAKICAgICAgICAgICAgICAgIHByaW1lW2ldID0gZmFsc2U7IAogICAgICAgIH0gCiAgICB9ICAKICAgIGZvciAoaW50IHA9MjsgcDw9bjsgcCsrKSAKICAgICAgIGlmIChwcmltZVtwXSkgCiAgICAgICAgICB2LnBiKHApOwogIHJldHVybiB2OyAKfSAKaW50IG1haW4oKXsKIGlvczo6c3luY193aXRoX3N0ZGlvKDApOwogY2luLnRpZSgwKTsKIGludCBuOwogY2luPj5uOwogaW50IGFbbl07CiBmb3IoaW50IGk9MDtpPG47aSsrKXsKICBjaW4+PmFbaV07CiB9CiBpbnQgaz0wOwogaW50IGNvdW50PTA7CiBpbnQgbXggPSAqbWF4X2VsZW1lbnQoYSxhK24pOwogVkkgdiA9IFNpZXZlT2ZFcmF0b3N0aGVuZXMobXgpOwogZm9yKGludCB5IDogdil7CiAgaW50IGM9MDsKICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgIGlmKGFbaV0leT09MCljKys7CiAgfQogIGlmKGM+Y291bnQpewogICAgY291bnQgPWM7CiAgICBrPXk7CiAgfQogfQogY291dDw8azw8IiAiPDxjb3VudDw8IlxuIjsKIAp9