#include <bits/stdc++.h>
using namespace std;
const long long MAX = 1000000000000000000;
long long mod = 1000000000;
long double pi = 3.141592653589793238;
void pls() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
long long n, k, d;
vector<vector<int>> res;
void backtrack(vector<int> &temp) {
  if (res.size() == n) return;
  if (temp.size() == d) {
    res.push_back(temp);
    return;
  }
  for (int i = 1; i <= k; i++) {
    temp.push_back(i);
    backtrack(temp);
    if (res.size() == n) return;
    temp.pop_back();
  }
}
void solve() {
  cin >> n >> k >> d;
  long long permu = 1;
  long long cnt = 0;
  while (permu < n && cnt < d) {
    permu *= k;
    cnt++;
  }
  if (cnt == d && permu < n) {
    cout << "-1" << endl;
    return;
  }
  vector<int> tt;
  backtrack(tt);
  for (int i = 0; i < d; i++) {
    for (int j = 0; j < res.size(); j++) {
      cout << res[j][i] << " ";
    }
    cout << endl;
  }
}
int main() {
  pls();
  solve();
  return 0;
}
