#![allow(unused_imports)] use itertools::*; use proconio::{input, marker::*}; fn solve(n: usize, m: usize, k: usize) -> Vec> { (0..n) .map(|i| (0..n).map(|j| (i * k + j) % m + 1).collect()) .collect() } fn main() { input! { n: usize, m: usize, k: usize, } let ans = solve(n, m, k); for row in ans { println!("{}", row.iter().join(" ")); } }