#include #include #include #include using namespace std; int K, N, M; bool is[102][102]; vector > V; int main() { cin.sync_with_stdio(false); cin >> K >> M >> N; if (N == 1) { for (int i = 1; i <= K; ++i) for (int j = i + 1; j <= K; ++j) is[i][j] = true; for (int i = 1; i <= K - M; ++i) is[i][i + 1] = false; for (int i = 1; i <= K; ++i) for (int j = i + 1; j <= K; ++j) if (is[i][j]) V.push_back(make_pair(i, j)); cout << V.size() << '\n'; for (int i = 0; i < int(V.size()); ++i) cout << V[i].first << ' ' << V[i].second << '\n'; } else if (M == 1) { for (int i = 1; i <= K - N; ++i) is[i][i + 1] = true; for (int i = 1; i <= K; ++i) for (int j = i + 1; j <= K; ++j) if (is[i][j]) V.push_back(make_pair(i, j)); cout << V.size() << '\n'; for (int i = 0; i < int(V.size()); ++i) cout << V[i].first << ' ' << V[i].second << '\n'; } else cout << "Impossible" << '\n'; }