#include<bits/stdc++.h>
using namespace std;
int main (){
long long x , y , z , n , m , i , l , t , j , k , s1 , s2 , s3 , s4 , r , s5 , s6 , s7 ;
double u , v , w , uu , vv , ww , h , hh ;
long long a [ 200045 ] ;
long long b [ 200045 ] ;
long long c [ 200005 ] ;
long long d [ 400005 ] ;
string s ;
string q ;
string p ;
string sq [ 1000 ] ;
map < string , long long > mm ;
pair < long long , long long > aa [ 300045 ] ;
pair < long long , long long > bb [ 300045 ] ;
cin >> n >> m ;
for ( i = 1 ; i <= n ; i ++ ) {
cin >> a [ i ] ;
}
sort ( a + 1 , a + n + 1 ) ;
for ( i = 1 ; i <= a [ n ] ; i ++ ) {
b [ i ] = 0 ;
}
for ( i = 1 ; i <= n ; i ++ ) {
b [ a [ i ] ] ++ ;
}
for ( i = a [ n ] - 1 ; i >= 1 ; i -- ) {
b [ i ] = b [ i ] + b [ i + 1 ] ;
}
for ( i = 1 ; i <= a [ n ] ; i ++ ) {
if ( b [ i ] < n ) {
z = i ;
break ;
}
}
x = 0 ;
y = 0 ;
for ( i = a [ n ] ; i >= z ; i -- ) {
x = x + b [ i ] ;
if ( x == m ) {
y ++ ;
x = 0 ;
}
else {
if ( x > m ) {
x = 0 ;
y ++ ;
i ++ ;
}
}
}
cout << y ;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsgCiAKaW50IG1haW4gKCl7Cglsb25nIGxvbmcgICB4ICwgeSAsIHogLCBuICwgbSAsIGkgLCBsICwgdCAsIGogLCBrICwgczEgLCBzMiAsIHMzICwgczQgLCByICwgczUgLCBzNiAsIHM3IDsKCWRvdWJsZSB1ICwgdiAsIHcgLCB1dSAsIHZ2ICwgd3cgLCBoICwgaGggOwoJbG9uZyBsb25nIGEgWyAyMDAwNDUgXSA7Cglsb25nIGxvbmcgYiBbIDIwMDA0NSBdIDsKCWxvbmcgbG9uZyBjIFsgMjAwMDA1IF0gOwoJbG9uZyBsb25nIGQgWyA0MDAwMDUgXSA7CglzdHJpbmcgcyA7CglzdHJpbmcgcSA7CglzdHJpbmcgcCA7CglzdHJpbmcgc3EgWyAxMDAwIF0gOwoJbWFwIDwgc3RyaW5nICwgbG9uZyBsb25nID4gbW0gOwoJcGFpciA8IGxvbmcgbG9uZyAsIGxvbmcgbG9uZyA+IGFhIFsgMzAwMDQ1IF0gOwoJcGFpciA8IGxvbmcgbG9uZyAsIGxvbmcgbG9uZyA+IGJiIFsgMzAwMDQ1IF0gOwoJY2luID4+IG4gPj4gbSA7Cglmb3IgKCBpID0gMSA7IGkgPD0gbiA7IGkgKysgKSB7CgkgICAgICBjaW4gPj4gYSBbIGkgXSA7Cgl9Cglzb3J0ICggYSArIDEgLCBhICsgbiArIDEgKSA7Cglmb3IgKCBpID0gMSA7IGkgPD0gYSBbIG4gXSA7IGkgKysgKSB7CgkgICAgICBiIFsgaSBdID0gMCA7Cgl9Cglmb3IgKCBpID0gMSA7IGkgPD0gbiA7IGkgKysgKSB7CgkgICAgICBiIFsgYSBbIGkgXSBdICsrIDsKCX0KCWZvciAoIGkgPSBhIFsgbiBdIC0gMSA7IGkgPj0gMSA7IGkgLS0gKSB7CgkgICAgICBiIFsgaSBdID0gYiBbIGkgXSArIGIgWyBpICsgMSBdIDsKCX0KCWZvciAoIGkgPSAxIDsgaSA8PSBhIFsgbiBdIDsgaSArKyApIHsKCSAgICAgIGlmICggYiBbIGkgXSA8IG4gKSB7CgkgICAgICAgICAgICB6ID0gaSA7CgkgICAgICAgICAgICBicmVhayA7CgkgICAgICB9Cgl9Cgl4ID0gMCA7Cgl5ID0gMCA7Cglmb3IgKCBpID0gYSBbIG4gXSA7IGkgPj0geiA7IGkgLS0gKSB7CgkgICAgICB4ID0geCArIGIgWyBpIF0gOwoJICAgICAgaWYgKCB4ID09IG0gKSB7CgkgICAgICAgICAgICB5ICsrIDsKCSAgICAgICAgICAgIHggPSAwIDsKCSAgICAgIH0KCSAgICAgIGVsc2UgewoJICAgICAgICAgICAgaWYgKCB4ID4gbSApIHsKCSAgICAgICAgICAgICAgICAgIHggPSAwIDsKCSAgICAgICAgICAgICAgICAgIHkgKysgOwoJICAgICAgICAgICAgICAgICAgaSArKyA7CgkgICAgICAgICAgICB9CgkgICAgICB9Cgl9Cgljb3V0IDw8IHkgOwp9