// mc2.cpp : Defines the entry point for the console application. // #include #include using namespace std; vector sol; int k, n, m, i, j; int main() { cin >> k >> n >> m; if (n != k && m != k) { cout << -1; return 0; } if (k == 1) { cout << 0; return 0; } if (k == 2 && n == m) { cout << -1; return 0; } if (n == m) { cout << n << "\n"; for (i = 1; i < n; i++) { cout << i << " " << i + 1 << "\n"; } cout << n << " " << 1 << "\n"; return 0; } if (n < m) { cout << n - 1 << "\n"; for (i = 2; i <= n; i++) { cout << 1 << " " << i << "\n"; } } if (n > m) { for (i = 2; i <= n; i++) { sol.push_back(1); sol.push_back(i); } for (i = 1; i <= n - m - 1; i++) { for (j = i + 2; j <= n; j++) { sol.push_back(i + 1); sol.push_back(j); } } cout << sol.size() / 2 << "\n"; for (i = 0; i < sol.size(); i += 2) { cout << sol[i] << " " << sol[i + 1] << "\n"; } } }