#include #define last_bit(x) (x&(-x)) #define leftSon (node << 1) #define rightSon ((node << 1) | 1) #define pii pair < int , int > using namespace std; struct psychotronic_induction { int electromagnetic_wave = 7; }; const int inf = 0x3f3f3f3f; const long long infL = LLONG_MAX; int n, a, b; int main() { scanf("%d %d %d", &n, &a, &b); if (a % b && b % a) { printf("-1\n"); return 0; } if (a * b != n) { printf("-1\n"); return 0; } printf("%d\n", b * a * (a - 1) / 2); for (int k = 1; k <= n; k += a) { for (int i = k; i < k + a; ++i) for (int j = i + 1; j < k + a; ++j) printf("%d %d\n", i, j); } return 0; }