#include "bits/stdc++.h" #include #define REP(i,a,b) for(i=a;i> a;}; template void reader(T& t,U& u){reader(t); reader(u);} template void reader(T& t,U& u,V& v){reader(t); reader(u); reader(v);} void writer(int a,char c) {printf("%d",a); putchar(c);} void writer(ll a,char c) {printf("%lld",a); putchar(c);} void writer(double a,char c) {printf("%.20lf",a); putchar(c);} void writer(char a[]) {printf("%s",a);}; void writer(char a[],char c) {printf("%s",a);putchar(c);}; void writer(char a,char c) {putchar(a); putchar(c);}; templatevoid writerLn(T t){writer(t,'\n');} templatevoid writerLn(T t,U u){writer(t,' ');writer(u,'\n');} template void writerLn(T t,U u,V v){writer(t,' ');writer(u,' ');writer(v,'\n');} template void writerArr(T x[], int n){int i;if(!n){putchar('\n');return;}rep(i,n-1) writer(x[i],' ');writer(x[n-1],'\n');} template void writerVec(vector x){int n=x.size();int i;if(!n){putchar('\n');return;}rep(i,n-1) writer(x[i],' ');writer(x[n-1],'\n');} vector split(const std::string &str, char sep){std::vector v;std::stringstream ss(str);std::string buffer;while(std::getline(ss,buffer,sep)){v.push_back(buffer);}return v;} // #define int ll bool test = 1; int dx[] = { 0,0,1,-1 }; int dy[] = { 1,-1,0,0 }; //.................. ull mod = (int)1e9 + 7; signed main(){ int i,j,k,l; int X,Y,L; int cnt = 0; reader(X,Y,L); if(Y<0) cnt+=2; else if(X) cnt++; Y = abs(Y); X = abs(X); cnt += X/L; if(X%L) cnt++; cnt += Y/L; dump(Y/L); if(Y%L) cnt++; cout << cnt << endl; return 0; }