#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const int maxn = 100 + 5;
int seat[maxn][maxn];
int n, a, b;
int main() {
  while (scanf("%d%d%d", &n, &a, &b) != EOF) {
    memset(seat, 0, sizeof seat);
    if (n > a * b) {
      printf("-1\n");
      continue;
    }
    int num = 1;
    for (int i = 1; i <= a; ++i) {
      if (i % 2) {
        for (int j = 1; j <= b; ++j) {
          seat[i][j] = num;
          num++;
          if (num > n) break;
        }
      } else {
        for (int j = b; j > 0; --j) {
          seat[i][j] = num;
          num++;
          if (num > n) break;
        }
      }
      if (num > n) break;
    }
    for (int i = 1; i <= a; ++i) {
      bool first = 1;
      for (int j = 1; j <= b; ++j) {
        if (first) {
          first = 0;
        } else {
          printf(" ");
        }
        printf("%d", seat[i][j]);
      }
      printf("\n");
    }
  }
  return 0;
}
