#include <bits/stdc++.h>
using namespace std;
long long power(long long a, long long b, long long mod) {
  long long c = 1;
  while (b > 0) {
    if (b % 2) c *= a, c %= mod;
    b /= 2;
    a *= a;
    a %= mod;
  }
  return c;
}
long long pow(long long a, long long b) {
  long long c = 1;
  while (b > 0) {
    if (b % 2) c *= a;
    b /= 2;
    a *= a;
  }
  return c;
}
const long long N = (1e5) + 10;
const long long Mod = 1e9 + 7;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cout << setprecision(25);
  long long n, k, a, b, c, d, l, r;
  long long t;
  long long x, y, q, ans;
  cin >> n >> k;
  long long ht[n];
  long long sum[200001];
  for (int i = 0; i < n; i++) {
    cin >> ht[i];
  }
  for (int i = 0; i <= 200000; i++) {
    sum[i] = 0;
  }
  sort(ht, ht + n);
  for (int i = 1; i < n; i++) {
    ht[i] -= ht[0];
  }
  ht[0] = 0;
  for (int i = 0; i < n; i++) {
    if (ht[i] == 0) continue;
    sum[0]++;
    if (ht[i] < 200000) sum[ht[i] + 1]--;
  }
  for (int i = 1; i <= 200000; i++) {
    sum[i] += sum[i - 1];
  }
  a = 0;
  ans = 0;
  for (int i = 0; i <= 5; i++) {
  }
  for (int i = 200000; i > 0; i--) {
    a += sum[i];
    if (a > k) {
      a -= sum[i];
      ans++;
      a = 0;
      i++;
    } else if (i == 1 && a != 0) {
      ans++;
    }
  }
  cout << ans << '\n';
  return 0;
}
