#[allow(unused_imports)] use std::cmp::*; #[allow(unused_imports)] use std::collections::*; fn read() -> T { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim().parse().ok().unwrap() } fn read_vec() -> Vec { read::() .split_whitespace() .map(|e| e.parse().ok().unwrap()) .collect() } fn main() { let v: Vec = read_vec(); let (_, k) = (v[0], v[1]); let a: Vec = read_vec(); let grundy = a.iter().map(|x| x % (k + 1)).collect::>(); let mut nim = 0; for num in grundy { nim ^= num; } if nim == 0 { println!("NO"); } else { println!("YES"); } }