#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define sort stable_sort
#define endl '\n'
ll a[2000001],c[2000001];
int main()
{
ll n,k,k2,i,j,maxx=0,id,minn=0x7f7f7f7f,ans=0,sum=0,num=0,flag=0;
cin>>n>>k;
for(i=1;i<=n;i++)
{
cin>>a[i];
if(c[a[i]]==0)
{
num++;
}
c[a[i]]++;
maxx=max(maxx,a[i]);
minn=min(minn,a[i]);
}
sort(c+minn,c+maxx+1);
for(i=minn;i<=maxx-1;i++)
{
if(c[i]!=c[i+1])
{
sum=1;
break;
}
}
for(i=maxx;i>=minn;i--)
{
k2=k;
id=maxx;
if(sum==0&&(k==0||(maxx==minn&&k<(n+1)/2)))
{
ans=num;
flag=1;
break;
}
if(sum==1)
{
if(k<c[maxx])
{
if(k<=c[maxx-1]&&k<c[maxx]-k)
{
if(c[i]+k>=max(c[maxx]-k,c[maxx-1]))
{
ans++;
flag=1;
}
else
{
break;
}
}
else
{
//if(k<c[maxx]-k)
//{
//
//}
}
}
/*
for(j=maxx;j>=minn;j--)
{
if(k2>=c[j])
{
k2-=c[j];
id=j;
}
else
{
break;
}
}
if(c[i]+k>=c[id]-k2)
{
ans++;
flag=1;
}
*/
else
{
break;
}
}
}
if(flag==0)
{
cout<<"pigstd";
}
else
{
cout<<ans;
}
return 0;
}