#include<stdio.h>
main()
{
int a[1001],i,j,k,r,s,x,l,n,m,sp,valid;
freopen("dame.in","r",stdin);
freopen("dame.out","w",stdout);
fscanf(stdin,"%d",&n);
sp=0;
if(n==1){ fprintf(stdin,"%d\n",(sp+1));
fprintf(stdin,"%d %d",(sp+1),(sp+1));
sp=1;}
if(n==2){ fprintf(stdin,"%d\n",(sp+1));
fprintf(stdin,"%d %d",(sp+1),(sp+1));
sp=1;}
if(n==3){ fprintf(stdin,"%d\n",(sp+2));
fprintf(stdin,"%d %d\n",(sp+1),(sp+2));
fprintf(stdin,"%d %d",(sp+3),(sp+1));
sp=1;
}
if(n==4){ fprintf(stdin,"%d\n",(sp+4));
fprintf(stdin,"%d %d\n",(sp+1),(sp+2));
fprintf(stdin,"%d %d\n",(sp+2),(sp+4));
fprintf(stdin,"%d %d\n",(sp+3),(sp+3));
fprintf(stdin,"%d %d",(sp+4),(sp+1));
sp=1;
}
if(sp==0)
{ r=n%12;
if((r==3)||(r==9))
{ j=1;
for(i=4;i<=n;i+=2)
{ a[j]=i; j++; }
a[j]=2;
j++;
}
else
{ j=1;
for(i=2;i<=n;i+=2)
{ a[j]=i; j++; }
}
valid=0;
if(r==8)
{
i=3;
do{
a[j]=i;j++;
a[j]=i-2;j++;
i+=4;
}while(i<=n);
j--;
valid=1;
}
if(r==2)
{
a[j]=3;j++;
a[j]=1;j++;
for(i=7;i<=n;i+=2)
{ a[j]=i; j++; }
a[j]=5;
valid=1;
}
if((r==3)||(r==9))
{
for(i=5;i<=n;i+=2)
{ a[j]=i; j++; }
a[j]=1;j++;
a[j]=3;
valid=1;
}
if(valid==0)
{
for(i=1;i<=n;i+=2)
{ a[j]=i;j++; }
j--;
}
fprintf(stdout,"%d\n",j);
for(i=1;i<=j;i++)
fprintf(stdout,"%d %d\n",i,a[i]);
}
fclose(stdin);
fclose(stdout);
return 0;
}