#include<iostream>
#define int long long
using namespace std;
const int MAXN=1e6+5;
int n,k,a[MAXN],z[MAXN],num[MAXN],sum1[MAXN],sum2[MAXN],maxx,ans;
signed main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
z[a[i]]++;
maxx=max(maxx,z[a[i]]);
}
if(maxx<=k){
cout<<"pigstd";
return 0;
}
for(int i=1;i<=n;i++) num[z[i]]++;
for(int i=maxx;i>0;i--){
sum1[i]=sum1[i+1]+num[i]*i;
sum2[i]=sum2[i+1]+num[i];
if(num[i]){
if(i+k>=maxx || sum1[i+k+1]-sum1[maxx+1]-(i+k)*(sum2[i+k+1]-sum2[maxx+1])<=k) ans+=num[i];
}
}
cout<<ans;
return 0;
}