use proconio::input; fn main() { input! { x: u32, y: u32, } let mut edges = vec![]; for i in 0..x { for j in 0..y - 1 { edges.push((i * y + j, i * y + j + 1)); } } for i in 0..x - 1 { edges.push((i * y, (i + 1) * y)); } edges.push(((x - 1) * y, 0)); let n = x * y; let m = edges.len(); println!("{} {}", n, m); for (u, v) in edges { println!("{} {}", u + 1, v + 1); } }