#include <cstdio>
#include <algorithm>

using namespace std;

int v[128][128];

int main ()
{
 //   freopen ("file.in", "r", stdin);

    int k, n, m;
    scanf ("%d %d %d", &k, &m, &n);

    if (n > 1 && m > 1)
    {
        printf ("Impossible\n");
        return 0;
    }

    int muc = 1;
    if (m > 1)
    {
        muc = 0;
        swap (n, m);
    }

    int tot = k * (k - 1) / 2;
    for (int i = 2; i <= k - n + 1; ++i)
        v[i - 1][i] = v[i][i - 1] = 1;

    if (muc) printf ("%d\n", k - n);
    else printf ("%d\n", tot - (k - n));

    for (int i = 1; i <= k; ++i)
        for (int j = i + 1; j <= k; ++j)
            if (v[i][j] == muc) printf ("%d %d\n", i, j);

    return 0;
}