#include<bits/stdc++.h>usingnamespace std;typedeflonglong ll;constint N =2e5+10;constint INF =0x3f3f3f3f;int n, m;int s[N];int minh = N, maxh =0;intget(int j){return s[maxh]- s[j -1];}intmain(){scanf("%d%d",&n,&m);for(int i =0; i < n;++i){int h;scanf("%d",&h);
minh =min(minh, h);
maxh =max(maxh, h);
s[h]++;}for(int i =1; i <= maxh;++i)
s[i]+= s[i -1];int res =0;for(int i = maxh; i > minh;){int j = i, sum =0;while(j > minh && sum +get(j)<= m)
sum +=get(j--);
res++;
i = j;}printf("%d\n", res);return0;}