#include <iostream> using namespace std; int mat[105][105]; int main() { int k,m,n; cin>>k>>m>>n; if((m!= 1 && n!=1) || (n > k) ||(m>k)) cout<<"Impossible"<<'\n'; else { if(n!=1) {//n e in graful meu curent cout<<k-n<<'\n'; for(int i = 2; i<=1+k-n;i++) cout<<"1 "<<i<<'\n'; } else { int nr = 0; for(int i = 1; i<=k;i++) for(int j = i+1; j<=k;j++) mat[i][j] = 1, nr++; for(int i = 2; i<=1+k-m;i++) mat[1][i] = 0, nr--; cout<<nr<<'\n'; for(int i = 1; i<=k;i++) for(int j = i+1; j<=k;j++) if(mat[i][j]) cout<<i<<" "<<j<<'\n'; } } return 0; }