fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut ans = vec![vec![1; n]; n]; for i in 0..n { for j in 0..n { ans[i][j] = (2 * i - j + n) % n + 1; } } let s = ans.iter() .map(|x| x.iter().map(|y| y.to_string()).collect::>().join(" ")) .collect::>().join("\n"); println!("{}", s); }