#include #include #include using namespace std; int main() { int n, m, k; cin >> n >> m >> k; vector> a(n, vector (n)); vector cnt(m + 1, n * n / m); cnt[0] = 0; for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { int x = i % k, y = j % k; int tmp = x * k + y + 1; if (tmp <= m) { a[i][j] = tmp; --cnt[tmp]; } } } vector nok; for (int i = 1; i <= m; ++i) { if (cnt[i] < 0) { cout << -1 << endl; return 0; } while (cnt[i] > 0) { --cnt[i]; nok.push_back(i); } } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { if (a[i][j] == 0) { a[i][j] = nok.back(); nok.pop_back(); } } } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cout << a[i][j] << " \n"[j == n - 1]; } } }