#include <bits/stdc++.h>
using namespace std;
int n, d, h;
vector<pair<int, int> > ans;
int main() {
  ios::sync_with_stdio(0);
  cin >> n >> d >> h;
  if (2 * h < d || (d == 1 && n > 2)) {
    cout << -1 << "\n";
    return 0;
  }
  for (int i = 2; i <= h + 1; i++) ans.push_back(make_pair(i - 1, i));
  int idx = 1;
  bool done = false;
  for (int i = h + 2; i <= d + 1; i++) {
    ans.push_back(make_pair(idx, i));
    done = true;
    idx = i;
  }
  if (done)
    idx = 1;
  else
    idx = 2;
  for (int i = d + 2; i <= n; i++) ans.push_back(make_pair(idx, i));
  for (int i = 0; i < ans.size(); i++)
    cout << ans[i].first << " " << ans[i].second << "\n";
  return 0;
}
