#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int lld; typedef pair PII; const int INF = (1<<31)-1; const lld LINF = (1LL<<63)-1; const int NMAX = 100000+5; const int MMAX = 100000+5; const int KMAX = 100000+5; const int PMAX = 100000+5; const int LMAX = 100000+5; const int VMAX = 100000+5; int K,N,M,i,j; int main() { //freopen("input.txt","r",stdin); //freopen("output.txt","w",stdout); scanf("%d%d%d",&K,&N,&M); if(N==K) { printf("%d\n",K*(K-1)/2-(M-1)); for(i=N; i<=K; i++) printf("%d %d\n",1,i); for(i=2; i<=N; i++) for(j=i+1; j<=N; j++) printf("%d %d\n",i,j); } else if(M==K) { printf("%d\n",N-1); for(i=2; i<=N-1; i++) printf("%d %d",1,i); } else { printf("-1\n"); } return 0; }