#include <cstdio>
#include <cstdlib>
#include <ctime>

int sz[20] = {0,0,0,0,0,15,333,777,999,1515,2500,3000,3500,4500,4999,5000};
int sm[20] = {0,0,0,0,0,40,1500,4800,10101,13000,25000,30000,78888,99999,100000,100000};
int chk[5050][5050];
int main()
{
    int st, ed, r = 1, c = 3;
    char in[110], out[110];
    scanf("%d%d", &st, &ed);
    srand(time(NULL));
    for(int i = 5 ; i <= ed ; i++ )
    {
        sprintf(in,".%d.in",i);
        freopen(in,"w",stdout);
        printf("%d %d\n", sz[i], sm[i]);
        for(int j = 1 ; j < sz[i] ; j++ ) printf("%d %d\n", j, sz[i]), chk[j][sz[i]] = 1;
        for(int j = 1 ; j <= sm[i]-sz[i]+1 ; j++ )
        {
            int st, ed, t ;
            st = rand()%sz[i] + 1;
            ed = rand()%sz[i] + 1;
            if( st > ed ) t = st, st = ed, ed = t;
            if( st == ed ){ j--; continue; }
            if( !chk[st][ed] ) chk[st][ed] = 1, printf("%d %d\n", st, ed);
            else j--;
        }

    }
}
