#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false), cin.tie(0);
  int n, d, h;
  cin >> n >> d >> h;
  if (d < h || d > h * 2 || d + 1 > n || d == 1 && n > 2) {
    cout << -1 << endl;
    return 0;
  }
  vector<vector<int> > adj(n);
  for (int i = 0; i < h; i++) adj[i].push_back(i + 1);
  if (d > h) {
    adj[0].push_back(h + 1);
    for (int i = h + 1; i < d; i++) adj[i].push_back(i + 1);
  }
  if (n > d + 1) {
    for (int i = d + 1; i < n; i++)
      if (h == 1)
        adj[0].push_back(i);
      else
        adj[1].push_back(i);
  }
  for (int i = 0; i < n; i++)
    for (int j = 0; j < adj[i].size(); j++)
      cout << i + 1 << " " << adj[i][j] + 1 << endl;
}
