#include <bits/stdc++.h>
using namespace std;
int st[1001][1001];
int mem[1001];
long long int n, k, d;
int j = 0;
int cnt = 0;
void rec(int depth) {
  if (cnt == n) return;
  if (depth == d) {
    for (int i = 0; i < d; i++) st[i][cnt] = mem[i];
    cnt++;
    return;
  }
  for (long long int i = 1; i <= k; i++) {
    if (cnt == n) return;
    mem[depth] = i;
    rec(depth + 1);
  }
}
int main(int argc, char** argv) {
  cin >> n >> k >> d;
  long long int save = d;
  long long int p = 1;
  bool ok = false;
  while (save--) {
    p *= k;
    if (p >= n) {
      ok = true;
      break;
    };
  }
  if (!ok) {
    cout << -1 << endl;
    return 0;
  }
  rec(0);
  for (int i = 0; i < d; i++) {
    for (int j = 0; j < n; j++) cout << st[i][j] << " ";
    cout << endl;
  }
  return 0;
}
