#include<iostream.h>
#include<stdio.h>
FILE *f=fopen("multimi2.in","r"),*g=fopen("multimi2.out","w");
int main()
{
int n,i,MOD;
fscanf(f,"%d",&n);
MOD=n%4;
switch(MOD)
{
case 0:{
fprintf(g,"0\n%d\n1 4 ",n/2);
for(i=8;i<=n;i+=4)
fprintf(g,"%d %d ",i-3,i);
fprintf(g,"\n%d\n2 3 ",n/2);
for(i=8;i<=n;i+=4)
fprintf(g,"%d %d ",i-2,i-1);
break;
}
case 1:{
fprintf(g,"1\n%d\n1 ",n/2+1);
for(i=5;i<=n;i+=4)
fprintf(g,"%d %d ",i-3,i);
fprintf(g,"\n%d\n",n/2);
for(i=5;i<=n;i+=4)
fprintf(g,"%d %d ",i-2,i-1);
break;
}
case 2:{
fprintf(g,"1\n%d\n1 ",n/2);
for(i=3;i<=n;i+=4)
fprintf(g,"%d %d ",i,i+3);
fprintf(g,"\n%d\n2 ",n/2);
for(i=3;i<=n;i+=4)
fprintf(g,"%d %d ",i+1,i+2);
break;
}
case 3:{
fprintf(g,"0\n%d\n1 2 ",n/2+1);
for(i=4;i<=n;i+=4)
fprintf(g,"%d %d ",i,i+3);
fprintf(g,"\n\%d\n3 ",n/2);
for(i=4;i<=n;i+=4)
fprintf(g,"%d %d ",i+1,i+2);
break;
}
}
return 0;
}