#include <stdio.h>
void quicksort(int a[], int left, int right)
{
int i=left,j=right;
int temp=(i+j)/2;
do
{
while(a[i]<a[temp]&&i<right)
i++;
while(a[j]>a[temp]&&j>left)
j--;
if(i<=j)
{
int tmp=a[i];
a[i]=a[j];
a[j]=tmp;
i++;
j--;
}
}while(i<=j);
if(j>left)
quicksort(a,left,j);
if(i<right)
quicksort(a,i,right);
return;
}
int main()
{
int n,m,i,k;
int max=0,j=0,money;
scanf("%d%d",&n,&m);
int a[100000];
for(i=0;i<m;i++)
scanf("%d",&a[i]);
quicksort(a,0,m-1);//先排序
for(i=m-1;i>=0;i--)//从高的价格向下枚举,判断最高利润
{
j++;
if(j>n)//判断是否超过草料批数
break;
money=j*a[i];
if(money>max)
{
k=a[i];
max=money;
}
}
printf("%d %d",k,max);
return 0;
}