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