fn read_num() -> i64 { use std::io::stdin; let mut s = String::new(); let _ = stdin().read_line(&mut s); s.trim().parse().unwrap() } use std::cmp::Ordering::*; pub fn main() { let (x, y, l) = (read_num(), read_num(), read_num()); let rotate_inst = match (x.cmp(&0), y.cmp(&0)) { (Equal, Equal) => 0, (Equal, Greater) => 0, (_, Less) => 2, _ => 1, }; let (ax, ay) = (x.abs(), y.abs()); let move_inst = (ax + l - 1) / l + (ay + l - 1) / l; println!("{}", rotate_inst + move_inst); }