#include <bits/stdc++.h>
using namespace std;
pair<int, int> e[150005];
int cur, p;
void fun(int a, int b) {
  if (b == 0) return;
  e[p++] = make_pair(a, cur);
  cur++;
  fun(cur - 1, b - 1);
}
int main() {
  int n, d, h;
  cin >> n >> d >> h;
  cur = 2;
  if (d - h > h) {
    cout << "-1" << endl;
    return 0;
  }
  fun(1, h);
  fun(1, d - h);
  if (h != d) {
    for (int i = 0; i < n - d - 1; i++) {
      fun(1, 1);
    }
  } else {
    if (n - d - 1 > 0 && h == 1) {
      cout << "-1" << endl;
      return 0;
    }
    for (int i = 0; i < n - d - 1; i++) {
      fun(2, 1);
    }
  }
  for (int i = 0; i < p; i++) printf("%d %d\n", e[i].first, e[i].second);
  return 0;
}
