sub min{$_[0]<$_[1]?$_[0]:$_[1]} sub max{$_[0]>$_[1]?$_[0]:$_[1]} ($d,$i,$h,$j)=<>; exit!print $i<$h&&$j<$h||$i>$h&&$j>$h?0:-1 if $d==0; $n=min($i,$j)==0?1e11:max(0,int(($h-min($i,$j)+$d)/$d)); $o=$h==0?1e11:max(0,int(($i-$h+$d)/$d)); $p=$h==0?1e11:max(0,int(($j-$h+$d)/$d)); $h1=max(0,$h-$d*$n); $i1=max(0,$i-$d*$o); $j1=max(0,$j-$d*$p); if($i==$j){ if($i==0){ $n=1e11; }else{ ++$n; if($i-$d<=$h){ ++$n; if(max(0,$h-$d)==max(0,$i-$d)){ $n=1e11; } } } } $o=$i1==0?1e11:$o+1 if $i1==$j1; $n=min($n,$o+$p); $n=-1 if $n>=1e11; print$n