fn main() { let n: usize = { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).unwrap(); buf.trim_end().parse().unwrap() }; let mut a = vec![vec![0; n]; n]; for i in 0..n { for j in 0..n { a[i][(i + j) % n] = (i + j * 2) % n + 1; } } for i in 0..n { for j in 0..n { print!("{}{}", a[i][j], if j < (n - 1) { ' ' } else { '\n' }); } } }