#include <bits/stdc++.h>
using namespace std;

const long long inf=1e18;
long long A, B, K;
unordered_map<long long, long long> dp;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    cin >> A >> B >> K;

    for(long long i=A+1; i<=B; i++)
    {
        if(i%K!=0)
        {
            dp[i]=min(dp[i-1]+1, dp[i-2]+1);
        }
        else
        {
            dp[i]=inf;
        }
    }

    cout << dp[B];
    return 0;
}

