/*No.48 ロボットの操縦*/ import java.util.*; public class No48 { static int Order=0; static int walk(int TargetPoint,int WalkSpec){ int work=Math.abs(TargetPoint); if(TargetPoint%WalkSpec==0){ Order+=work/WalkSpec; return TargetPoint/WalkSpec; }else{ work/=WalkSpec; Order+=work+1; return work*WalkSpec+Math.abs(TargetPoint%WalkSpec); } } public static void main(String[] args) { int TargetX,TargetY,WalkSpec,CurrentX=0,CurrentY=0; try(Scanner input = new Scanner((System.in))){ TargetX=input.nextInt(); TargetY=input.nextInt(); WalkSpec=input.nextInt(); if(TargetY<0){ Order++; if(TargetX!=0) CurrentX=walk(TargetX,WalkSpec); if(TargetY!=0){ Order++; CurrentY=walk(TargetY,WalkSpec); } }else{ CurrentY=walk(TargetY,WalkSpec); if(TargetX!=0){ Order++; CurrentX=walk(TargetX,WalkSpec); } } System.out.println(Order); }catch(Exception e){ e.printStackTrace(); } } }