#include<bits/stdc++.h>
using namespace std;
map<int,int>x;
set<int>existents;
set<int>::iterator it;
int main(){
int n,m,tmp,mn=0x3f3f3f3f,mx=-0x3f3f3f3f;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>tmp;
existents.insert(tmp);
if(!x[tmp])x[tmp]=1;
else x[tmp]++;
}
if(n<m)mn=0;
tmp=0;it=existents.begin();
if(((*it)-tmp)!=1)cout<<0;;
for(it=existents.begin();it!=existents.end();it++){
if(mn&&(((*it)-tmp)!=1))mn=0;
if(x[*it]>mx)mx=x[*it];
if(x[*it]<mn)mn=x[*it];
tmp=*it;
}
it--;
if((*it)!=m)mn=0;
cout<<mn<<char(32)<<mx<<endl;
return 0;
}