#include <bits/stdc++.h>
using namespace std;
bool used[1000000];
int main() {
  int n, d, h;
  cin >> n >> d >> h;
  if (h * 2 < d)
    cout << -1 << endl;
  else if (d / 2 + d % 2 > h)
    cout << -1 << endl;
  else if (h == d && h == 1 && n > 2)
    cout << -1 << endl;
  else if (h == d && h != n - 1) {
    int q = 1, w = 2, a = h - 1, b;
    for (int i = 0; i < a; i++) {
      used[q] = used[w] = 1;
      cout << q << " " << w << endl;
      q++, w++;
    }
    for (int i = w; i <= n; i++) cout << q << " " << w++ << endl;
  } else {
    int q = 1, w = 2, a = h, b = d - h;
    for (int i = 0; i < a; i++) {
      used[q] = 1;
      used[w] = 1;
      cout << q << " " << w << endl;
      q = q + 1;
      w = w + 1;
    }
    q = 1;
    for (int i = 0; i < b; i++) {
      used[q] = 1;
      used[w] = 1;
      cout << q << " " << w << endl;
      q = w, w = w + 1;
    }
    for (int i = 1; i <= n; i++)
      if (!used[i]) cout << 1 << " " << i << endl;
  }
  return 0;
}
