#include #include using namespace std; ifstream f("date.in"); #define f cin int k, n, m; int G[105][105]; int main() { f >> k >> n >> m; swap(n, m); if (n != k && m != k) { cout << -1 << endl; return 0; } if (m == k && n == k) { cout << -1 << endl; return 0; } if (m == k) { for (int i = 1; i <= k; i++) { for (int j = 1; j <= k; j++) { G[i][j] = 0; } } for (int i = 1; i <= n; i++) { G[1][i + 1] = 1; } int s = 0; for (int i = 1; i <= k; i++) { for (int j = 1; j <= k; j++) { if (G[i][j] == 1) { s++; } } } cout << s << '\n'; for (int i = 1; i <= k; i++) { for (int j = 1; j <= k; j++) { if (G[i][j] == 1) { cout << i << ' ' << j << '\n'; } } } } if (n == k) { for (int i = 1; i <= k; i++) { for (int j = 1; j <= k; j++) { if (i == j) continue; G[i][j] = 1; } } for (int i = 1; i <= m; i++) { G[1][i + 1] = 0; G[i + 1][1] = 0; } int s = 0; for (int i = 1; i <= k; i++) { for (int j = 1; j <= k; j++) { if (G[i][j] == 1) { s++; } } } cout << s << '\n'; for (int i = 1; i <= k; i++) { for (int j = 1; j <= k; j++) { if (G[i][j] == 1) { cout << i << ' ' << j << '\n'; } } } } return 0; }