#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int sod[1000],l,num,point[1000],stepmin=0,stepmax=0;
int max(int x,int y)
{
int z;
z=x>y?x:y;
return z;
}
int min(int x,int y)
{
int z;
z=x<y?x:y;
return z;
}
int main (void)
{
point[0]=0;
scanf("%d%d",&l,&num);
if(num==0)
{
printf("0 0");
return 0;
}
for(int i=1;i<=num;i++)
{
scanf("%d",&point[i]);
}
for(int j=1;j<=l;j++)
{
stepmin=max(min(point[j],l+1-point[j]),stepmin);
}
for(int j=1;j<=l;j++)
{
if(point[j]!=0)
stepmax=max(l+1-point [j],stepmax);
}
printf("%d %d\n",stepmin,stepmax);
return 0;
}