#include <bits/stdc++.h>
using namespace std;
int n, k, d, ans[1010][1010];
long long l = 1, inf = 1e12;
void update(int j) {
  for (int i = 0; i < d; i++) ans[j][i] = ans[j - 1][i];
  ans[j][0]++;
  int i = 0;
  while (ans[j][i] >= k) {
    ans[j][i] = 0;
    ans[j][i + 1] += 1;
    i++;
  }
}
int main() {
  cin >> n >> k >> d;
  for (int i = 0; i < d; i++) {
    l *= (k * 1ll);
    if (l >= inf) break;
  }
  if (l < n) {
    cout << "-1" << endl;
    return 0;
  }
  for (int i = 0; i < d; i++) ans[0][i] = 0;
  for (int i = 1; i < n; i++) update(i);
  for (int i = 0; i < d; i++, cout << endl)
    for (int j = 0; j < n; j++) cout << ans[j][i] + 1 << ' ';
}
