#include<iostream>
using namespace std;
int main(){
    long long A,B,K;
    cin>>A>>B>>K;
    long long brskoks=0,a=A/K+1,b=B/K,AA=K*(A/K+1)-1,BB=K*(B/K)+1;
    if(A!=B){
        brskoks=1;
        if(K*a<B && A<K*b){
            if(K%2==0){
                brskoks+=(B/K-(A/K+1))*(K/2);
            }else{
                brskoks+=(B/K-(A/K+1))*(K/2+1);
            }
            if((A+1)%K!=0){
                if((AA)%2==A%2){
                    brskoks+=(AA-A)/2;
                }else{
                    brskoks+=(AA-A)/2+1;
                }
            }
            if((B-1)%K!=0){
                if(BB%2==B%2){
                    brskoks+=(B-BB)/2;
                }else{
                    brskoks+=(B-BB)/2+1;
                }
            }
        }

    }
    cout<<brskoks<<endl;
    return 0;
}
