#include<bits/stdc++.h>
using namespace std;
struct sss{
int name;
int fangxiang;
};
int main(){
int a,b,i;
cin>>a>>b;
int d[a+5],d1[a+5];
sss c[b+5],e[b+5];
int isok = b;
for(int i = 1;i<=a;i++){
d[i] = 0;
}
for(int i = 1;i<=b;i++){
cin>>c[i].name;
e[i].name = c[i].name;
d1[c[i].name]++;
}
int ans = 0,ans2 = 0;
for(int i = 1;i<=b;i++){
if(c[i].name<a/2)c[i].fangxiang = 0;
else c[i].fangxiang = 1;
}
for(int i = 1;i<=b;i++){
if(e[i].name<a/2)e[i].fangxiang = 1;
else e[i].fangxiang = 0;
}
i = 1;
while(isok>0){
if(d[i]>1){
c[i].fangxiang = abs(c[i].fangxiang-1);
}
if(c[i].fangxiang == 1){
c[i].name++;
}
else if(c[i].fangxiang == 0){
c[i].name--;
}
if(c[i].name<1||c[i].name>a){
isok--;
c[i].fangxiang = -1;
c[i].name = a-1;
}
i++;
if(i>b){
i = 1;
ans++;
}
}
isok = b;
cout<<ans<<" ";
while(isok>0){
if(d1[i]>1){
for(int j = 1;j<=b;j++){
if(e[j].name == i)
{
e[j].fangxiang = abs(e[j].fangxiang-1);
}
}
}
if(e[i].fangxiang == 1){
e[i].name++;
}
else if(e[i].fangxiang == 0){
e[i].name--;
}
if(e[i].name<1&&e[i].fangxiang!=-1||e[i].name>a&&e[i].fangxiang!=-1){
isok--;
e[i].fangxiang = -1;
}
i++;
if(i>b){
i = 1;
ans2++;
}
}
cout<<ans2;
return 0;
}
不会啊啊啊啊啊啊!!! 20tle求教