#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[]) {
  int n, d, h;
  cin >> n >> d >> h;
  if (((2 * h) < d) || (h > d) || (d == 1 && n > 2)) {
    cout << -1 << endl;
  } else {
    int z;
    int c;
    int a = 1;
    if (d > h) {
      z = h + 1;
      c = d - h;
      for (int i = 2; i <= z; i++) {
        cout << a << " " << a + 1 << endl;
        a++;
      }
      int b = h + 2;
      a = 1;
      int k = 0;
      for (int i = h + 2; i <= n; i++) {
        cout << a << " " << i << endl;
        k++;
        if (k >= c) {
          k = 0;
          a = 1;
        } else {
          a = i;
        }
      }
    } else if (d == h) {
      for (int i = 1; i <= h; i++) {
        cout << a << " " << a + 1 << endl;
        a++;
      }
      a = h;
      for (int i = h + 2; i <= n; i++) {
        cout << a << " " << i << endl;
      }
    }
  }
  return 0;
}
