#include <bits/stdc++.h>
const int dx[8] = {1, 1, 0, -1, -1, -1, 0, 1};
const int dy[8] = {0, 1, 1, 1, 0, -1, -1, -1};
using namespace std;
long long max(long long a, int b) { return max(a, long long(b)); }
long long max(int a, long long b) { return max(long long(a), b); }
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  long long su = 0;
  long long iti;
  long long sa = 0;
  long long yu = 0;
  long long N, K;
  cin >> N >> K;
  vector<long long> A(N);
  for (long long j = 0; j < long long(N); ++j) {
    cin >> A[j];
    if (A[j] == 1) {
      iti = j;
    }
  }
  if (N == K) {
    su = 1;
  } else {
    sa = iti;
    yu = N - 1 - iti;
    while (sa != 0 || yu != 0) {
      if (sa < K - 1 && sa != 0) {
        sa = 0;
        su++;
      } else if (sa != 0) {
        sa -= K - 1;
        su++;
      }
      if (yu < K - 1 && yu != 0) {
        yu = 0;
        su++;
      } else if (yu != 0) {
        yu -= K - 1;
        su++;
      }
    }
  }
  cout << su << endl;
  return 0;
}
