use itertools::Itertools; use proconio::input; fn main() { input! { n:usize, m:usize, k:usize, } let mut ans = vec![vec![0; n]; n]; if m > k * k { println!("-1"); } else { for i in 0..n { for j in 0..n { ans[i][j] = (j + i * k) % m + 1; } } for r in ans { println!("{}", r.iter().join(" ")); } } }