#include <iostream>

using namespace std;

int kkol(long long k, int l, int d)
{
    if(l<=d)
    {
        int n=l+(d-l)/2;
        if(n*(n-1)*(n-2)/6==k) return n;
        if(n*(n-1)*(n-2)/6>k)  return kkol(k, l, n-1);
                 return max(kkol(k, n+1, d), n);
    }
    return 0;
}

int main()
{
    long long klin, N;
    int x=0, y=0;
    cin>>klin;
    long long kurinu=klin, nen=0;
    while(kurinu>0)
    {
        N=kkol(kurinu, 3, 2000);
        kurinu-=N;
        nen+=N;
    }
    cout<<nen<<"\n";
    while(klin>0)
    {
        N=kkol(klin, 3, 2000);
        klin-=N;
        for(N; N>0; N--)
        {
            cout<<x<<" "<<y<<"\n";
            x++;
            y++;
        }
        x++;
    }
    return 0;
}