#include <bits/stdc++.h>
using namespace std;
int ar[200][200], n, m, x, x1, x2, cnt1, cnt2, v1, v2;
int main() {
  scanf("%d%d%d", &x, &n, &m);
  x2 = x / 2, x1 = x - x2;
  ar[0][0] = 1;
  for (int i = 1; i < 100; i++) ar[0][i] = (1 + ar[0][i - 1]) % 2;
  for (int i = 0, k = 1; i < 100; i++) {
    for (int l = 1; l < 100; l++) {
      ar[l][i] = (1 + ar[l - 1][i]) % 2;
    }
  }
  for (int i = 0; i < n; i++) {
    for (int l = 0; l < m; l++) {
      if (ar[i][l])
        cnt1++;
      else
        cnt2++;
    }
  }
  if (x1 > x2)
    v1 = 1;
  else
    v2 = 1;
  if (max(cnt1, cnt2) < max(x1, x2) || min(cnt1, cnt2) < min(x1, x2)) {
    cout << -1 << endl;
    return 0;
  }
  int re = 2, ro = 3, dx, dy;
  for (int i = 0; i < n; i++) {
    for (int l = 0; l < m; l++) {
      if (ar[i][l] == v1 && x1) x1--, ar[i][l] = ro, ro += 2, dx = i, dy = l;
      if (ar[i][l] == v2 && x2) x2--, ar[i][l] = re, re += 2;
    }
  }
  for (int i = 0; i < n; i++)
    for (int l = 0; l < m; l++)
      if (ar[i][l] == 1) ar[i][l] = 0;
  ar[dx][dy] = 1;
  for (int i = 0; i < n; i++) {
    for (int l = 0; l < m; l++) printf("%d ", ar[i][l]);
    printf("\n");
  }
}
