/*
4k
b a b a a b a b
1 2 3 4 5 6 7 8
4k+1
a b a b a a b a b
1 2 3 4 5 6 7 8 9
4k+2
b a b a a b a b a b
1 2 3 4 5 6 7 8 9 10
4k+3
a a b b a b a a b a b
1 2 3 4 5 6 7 8 9 10 11
*/
#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",1,n/2+1);
for(i=5;i<=n/2;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+3;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;
}