#include <stdio.h>

int fakt(long long n)
{
    long long suma=1;
    for (long long i=4;i<=n;i++) suma*=i;
    return suma;
}

int main()
{
    long long k;
    long long a[100];
    scanf("%lld",&k);
    a[12]=k/fakt(12);
    k%=fakt(12);

    a[11]=k/fakt(11);
    k%=fakt(11);

    a[10]=k/fakt(10);
    k%=fakt(10);

    a[9]=k/fakt(9);
    k%=fakt(9);

    a[8]=k/fakt(8);
    k%=fakt(8);

    a[7]=k/fakt(7);
    k%=fakt(7);

    a[6]=k/fakt(6);
    k%=fakt(6);

    a[5]=k/fakt(5);
    k%=fakt(5);

    a[4]=k/fakt(4);
    k%=fakt(4);

    printf("%lld\n",12*a[12]+11*a[11]+10*a[10]+9*a[9]+8*a[8]+7*a[7]+6*a[6]+5*a[5]+4*a[4]+3*k);

    long long br=0,x_osa=0;
    for (long long i=0;i<a[12];i++)
    {
        for (int i=0;i<12;i++)
        {
            printf("%lld %lld\n", x_osa,br);
            br++;
        }
        x_osa++;
    }

    for (long long i=0;i<a[11];i++)
    {
        for (int i=0;i<11;i++)
        {
            printf("%lld %lld\n", br,x_osa);
            br++;
        }
        x_osa++;
    }

    for (long long i=0;i<a[10];i++)
    {
        for (int i=0;i<10;i++)
        {
            printf("%lld %lld\n", br,x_osa);
            br++;
        }
        x_osa++;
    }

    for (long long i=0;i<a[9];i++)
    {
        for (int i=0;i<9;i++)
        {
            printf("%lld %lld\n", br,x_osa);
            br++;
        }
        x_osa++;
    }

    for (long long i=0;i<a[8];i++)
    {
        for (int i=0;i<8;i++)
        {
            printf("%lld %lld\n", br,x_osa);
            br++;
        }
        x_osa++;
    }

    for (long long i=0;i<a[7];i++)
    {
        for (int i=0;i<7;i++)
        {
            printf("%lld %lld\n", br,x_osa);
            br++;
        }
        x_osa++;
    }

    for (long long i=0;i<a[6];i++)
    {
        for (int i=0;i<6;i++)
        {
            printf("%lld %lld\n", br,x_osa);
            br++;
        }
        x_osa++;
    }

    for (long long i=0;i<a[5];i++)
    {
        for (int i=0;i<5;i++)
        {
            printf("%lld %lld\n", br,x_osa);
            br++;
        }
        x_osa++;
    }

    for (long long i=0;i<a[4];i++)
    {
        for (int i=0;i<4;i++)
        {
            printf("%lld %lld\n", br,x_osa);
            br++;
        }
        x_osa++;
    }

    for (long long i=0;i<k;i++)
    {
        for (int i=0;i<3;i++)
        {
            printf("%lld %lld\n", br,x_osa);
            br++;
        }
        x_osa++;
    }
}