use std::io::{Read, stdin}; fn main() { let mut buf = String::new(); stdin().read_to_string(&mut buf).unwrap(); let mut tok = buf.split_whitespace(); let mut get = || tok.next().unwrap(); macro_rules! get { ($t:ty) => (get().parse::<$t>().unwrap()); () => (get!(i64)); } let n = get!(); let k = get!(); if k == 1 { println!("Yes"); for i in 1..=n { if i > 1 { print!(" "); } print!("{}", i); } println!(); return; } let r = n / k; if r % 2 != 0 { println!("No"); return; } println!("Yes"); for i in 0..k { for j in 0..r / 2 { if j > 0 { print!(" "); } let e = j + i * r / 2; print!("{} {}", e + 1, n - e); } println!(); } }