#include <iostream>
FILE *in = fopen("multimi2.in","r"), *out = fopen("multimi2.out","w");
int n;
#define fout out
int main()
{
fscanf(in, "%d", &n);
if ( n == 2 )
{
fprintf(fout, "%d\n", 1);
fprintf(fout, "%d\n%d\n%d\n%d\n", 1, 1, 1, 2);
return 0;
}
else if ( n == 3 )
{
fprintf(fout, "%d\n", 0);
fprintf(fout, "%d\n%d %d\n%d\n%d\n", 2, 1, 2, 1, 3);
return 0;
}
if ( n % 4 == 0 )
{
fprintf(fout, "%d\n", 0);
fprintf(fout, "%d\n", n / 2);
for ( int i = 1; i <= n; ++i )
if ( i % 4 == 1 || i % 4 == 0 )
fprintf(fout, "%d ", i);
fprintf(fout, "\n%d\n", n / 2);
for ( int i = 1; i <= n; ++i )
if ( i % 4 == 2 || i % 4 == 3 )
fprintf(fout, "%d ", i);
}
else if ( n % 4 == 1 )
{
fprintf(fout, "%d\n", 1);
fprintf(fout, "%d\n%d ", n / 2 + 1, 1);
for ( int i = 2; i <= n ; ++i )
if ( i % 4 == 1 || i % 4 == 2 )
fprintf(fout, "%d ", i);
fprintf(fout, "\n%d\n", n / 2);
for ( int i = 2; i <= n ; ++i )
if ( i % 4 == 3 || i % 4 == 0 )
fprintf(fout, "%d ", i);
}
else if ( n % 4 == 2 )
{
fprintf(fout, "%d\n", 1);
fprintf(fout, "%d\n%d ", n / 2, 1);
for ( int i = 3; i <= n ; ++i )
if ( i % 4 == 0 || i % 4 == 1 )
fprintf(fout, "%d ", i);
fprintf(fout, "\n%d\n%d ", n / 2, 2);
for ( int i = 3; i <= n ; ++i )
if ( i % 4 == 2 || i % 4 == 3 )
fprintf(fout, "%d ", i);
}
else if ( n % 4 == 3 )
{
fprintf(fout, "%d\n", 0);
fprintf(fout, "%d\n%d %d ", n / 2 + 1, 1, 2);
for ( int i = 4; i <= n ; ++i )
if ( i % 4 == 0 || i % 4 == 1 )
fprintf(fout, "%d ", i);
fprintf(fout, "\n%d\n%d ", n / 2, 3);
for ( int i = 4; i <= n ; ++i )
if ( i % 4 == 2 || i % 4 == 3 )
fprintf(fout, "%d ", i);
}
return 0;
}