#include <cstring> #include <iostream> #include <algorithm> #include <vector> #define PII pair<int,int> using namespace std; int k,n,m,a[105][105],i,j; vector<PII> V; vector<PII>::iterator it; int main() { cin>>k>>n>>m; if(n==1&&m==1&&k>1&&k<4) { cout<<"-1\n"; return 0; } if(n==1) { for(i = 1;i<=k;i++) for(j=i+1;j<=k;j++) a[i][j]=1; for(i = 1; i <=k-m;i++) a[i][i+1]=0; for(i=1;i<=k;i++) for(j=i+1;j<=k;j++) if (a[i][j]==1) V.push_back(make_pair(i, j)); cout<<V.size()<<'\n'; for(it=V.begin();it!=V.end();it++) cout <<it->first<<' '<<it->second<<'\n'; } else if(m==1) { for(i=1;i<=k-m;i++) a[i][i+1]=1; for(i=1;i<=k;i++) for(j=i+1;j<=k;j++) if(a[i][j]) V.push_back(make_pair(i,j)); cout<<V.size()<<'\n'; for(it=V.begin();it!=V.end();it++) cout <<it->first<<' '<<it->second<<'\n'; } else cout<<"-1\n"; return 0; }