#include<stdio.h>
int n,i;
int main(){
FILE *f=fopen("multimi2.in","r");
fscanf(f,"%d",&n);
fclose(f);
FILE *g=fopen("multimi2.out","w");
if(n%4==0){
fprintf(g,"%d\n%d\n",0,n/2);
for(i=1;i<=n/2-1;i+=2){
fprintf(g,"%d ",i);
}
for(i=n/2+2;i<=n;i+=2){
fprintf(g,"%d ",i);
}
fprintf(g,"\n%d\n",n/2);
for(i=2;i<=n/2;i+=2){
fprintf(g,"%d ",i);
}
for(i=n/2+1;i<=n;i+=2){
fprintf(g,"%d ",i);
}
}
if(n%4==1){
fprintf(g,"%d\n%d\n%d ",1,n/2+1,1);
for(i=2;i<=n/2;i+=2){
fprintf(g,"%d ",i);
}
for(i=n/2+3;i<=n;i+=2){
fprintf(g,"%d ",i);
}
fprintf(g,"\n%d\n",n/2);
for(i=3;i<=n/2+1;i+=2){
fprintf(g,"%d ",i);
}
for(i=n/2+2;i<=n;i+=2){
fprintf(g,"%d ",i);
}
}
if(n%4==2){
fprintf(g,"%d\n%d\n",1,n/2);
for(i=1;i<=n/2-1;i+=2){
fprintf(g,"%d ",i);
}
for(i=n/2+1;i<=n;i+=2){
fprintf(g,"%d ",i);
}
fprintf(g,"\n%d\n",n/2);
for(i=2;i<=n/2-1;i+=2){
fprintf(g,"%d ",i);
}
for(i=n/2;i<=n;i+=2){
fprintf(g,"%d ",i);
}
}
if(n%4==3){
fprintf(g,"%d\n%d\n",0,n/2+1);
fprintf(f,"%d %d ",1,2);
for(i=5;i<=n/2+2;i+=2){
fprintf(g,"%d ",i);
}
for(i=n/2+3;i<=n;i+=2){
fprintf(g,"%d ",i);
}
fprintf(g,"\n%d\n",n/2);
fprintf(f,"%d %d ",3,4);
for(i=6;i<=n/2+1;i+=2){
fprintf(g,"%d ",i);
}
for(i=n/2+4;i<=n;i+=2){
fprintf(g,"%d ",i);
}
}
fclose(g);
return 0;
}