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