#include <bits/stdc++.h>
const int nmax = 8 * 9 * 7 * 11 * 13 * 5 + 10;
long long a, b, k;
long long f[nmax];
int mod = 2 * 2 * 2 * 3 * 3 * 5 * 7 * 11 * 13;
long long dem;
long long sub;
using namespace std;
int main() {
  cin >> a >> b >> k;
  dem = 0LL;
  for (int i = 0; i < mod; i++) f[i] = 0LL;
  while (a > b) {
    sub = 1LL;
    for (int i = 2; i <= k; i++)
      if ((a % i > sub) && (a - (a % i) >= b)) sub = a % i;
    dem++;
    a -= sub;
    if (f[a % mod]) {
      long long dodai = dem - f[a % mod];
      dem += dodai * ((a - b) / mod);
      a -= ((a - b) / mod) * mod;
    }
    f[a % mod] = dem;
  }
  cout << dem << endl;
  return 0;
}
