use std::mem::swap; use proconio::input; fn main() { input! { mut h: usize, mut w: usize, } if h % 2 == 0 && w % 2 == 0 { let mut swaped = false; if w < h { swap(&mut h, &mut w); swaped = true; } let mut c = vec![vec![0; w]; h]; for i in 0..h { for j in 0..w { c[i][j] = (i + 1) / 2 + 1; } } println!("{}", h / 2 + 1); for i in (0..h).step_by(2) { for j in 0..w { if !swaped { println!( "{} {} {} {} {} {}", i + 1, j + 1, c[i][j], i + 2, j + 1, c[i + 1][j] ); } else { println!( "{} {} {} {} {} {}", j + 1, i + 1, c[i][j], j + 1, i + 2, c[i + 1][j] ); } } } } }