fn main() { let mut nm = String::new(); std::io::stdin().read_line(&mut nm).ok(); let nm: Vec = nm.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let m = nm[1]; let mut xy = String::new(); std::io::stdin().read_line(&mut xy).ok(); let xy: Vec = xy.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let x = xy[0]; let y = xy[1]; let a = x % (2*m); let a = if a > m { 2 * m - a + 1 } else if a > 0 { a } else { 1 }; let b = y % (2*m); let b = if b > m { 2 * m - b + 1 } else if b > 0 { b } else { 1 }; println!("{}", if a == b { "YES" } else { "NO" }); }