//众数—分治法
#include <bits/stdc++.h>
#include<algorithm>
using namespace std;
int a[100]; // 众数
int b[100]; // 重数
int mode(int c[],int l,int r)
{
int i,j,k=0;
int mid;
mid=(l+r)/2;
i=l;
j=r;
for(;i<mid&&c[i]!=c[mid];i++);
for(;j>mid&&c[j]!=c[mid];j--);
a[k]=c[mid];
b[k]=j-i+1;
k++;
if(b[k]>l-i && b[k]>j-r)
{
return k;
}
if(i-l>=b[k])
{
mode(c,l,i-1);
}
if(r-j>=b[k])
{
mode(c,j+1,r);
}
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0; i<n; i++)
scanf("%d",c[i]);
sort(c,c+n);
mode(c,0,n-1);
int max=b[0];
for(int i;i<k;i++)
{
if(b[i]>max)
{
max=b[i];
}
}
for(int i;i<k;i++)
{
if(b[i]==max)
{
printf("%d %d\n",a[i],b[i]);
}
}
}