Cod sursa(job #296636)
#include <fstream.h>
long long n , i , ct1 , ct2;
int main()
{
ifstream f("multimi2.in");
ofstream g("multimi2.out");
f>>n;
if(n == 2)
{
g<<"1"<<"\n";
g<<"1"<<"\n"<<"1"<<"\n";
g<<"1"<<"\n"<<"2";
}
else
{
if(n == 3)
{
g<<"0"<<"\n";
g<<"2"<<"\n"<<"1 2"<<"\n";
g<<"1"<<"\n"<<"3";
}
}
if(n != 2 && n != 3)
{
if(n%4 == 0)
{
g<<"0"<<"\n";
g<<n/2<<"\n";
ct1 = 1 ; ct2 = 4;
g<<ct1<<" "<<ct2<<" ";
while(ct1+4 <= n && ct2+4 <= n)
{
ct1 = ct1 + 4;
ct2 = ct2 + 4;
g<<ct1<<" "<<ct2<<" ";
}
g<<"\n";
g<<n/2<<"\n";
ct1 = 2 ; ct2 = 3;
g<<ct1<<" "<<ct2<<" ";
while(ct1+4 <=n && ct2+4 <= n)
{
ct1 = ct1 + 4;
ct2 = ct2 + 4;
g<<ct1<<" "<<ct2<<" ";
}
}
if(n%4 == 1)
{
g<<"1"<<"\n";
g<<(n/2+1)<<"\n"<<"1 ";
ct1 = 2 ; ct2 = 5;
g<<ct1<<" "<<ct2<<" ";
while(ct1+4 <= n && ct2+4 <= n)
{
ct1 = ct1 + 4;
ct2 = ct2 + 4;
g<<ct1<<" "<<ct2<<" ";
}
g<<"\n";
g<<n/2<<"\n";
ct1 = 3 ; ct2 = 4;
g<<ct1<<" "<<ct2<<" ";
while(ct1+4 <=n && ct2+4 <= n)
{
ct1 = ct1 + 4;
ct2 = ct2 + 4;
g<<ct1<<" "<<ct2<<" ";
}
}
if(n%4 == 2)
{
g<<"1"<<"\n";
g<<n/2<<"\n"<<"1 ";
ct1 = 3 ; ct2 = 6;
g<<ct1<<" "<<ct2<<" ";
while(ct1+4 <= n && ct2+4 <= n)
{
ct1 = ct1 + 4;
ct2 = ct2 + 4;
g<<ct1<<" "<<ct2<<" ";
}
g<<"\n";
g<<n/2<<"\n"<<"2 ";
ct1 = 4 ; ct2 = 5;
g<<ct1<<" "<<ct2<<" ";
while(ct1+4 <=n && ct2+4 <= n)
{
ct1 = ct1 + 4;
ct2 = ct2 + 4;
g<<ct1<<" "<<ct2<<" ";
}
}
if(n%4 == 3)
{
g<<"0"<<"\n";
g<<(n/2+1)<<"\n"<<"1 2 ";
ct1 = 4 ; ct2 = 7;
g<<ct1<<" "<<ct2<<" ";
while(ct1+4 <= n && ct2+4 <= n)
{
ct1 = ct1 + 4;
ct2 = ct2 + 4;
g<<ct1<<" "<<ct2<<" ";
}
g<<"\n";
g<<n/2<<"\n"<<"3 ";
ct1 = 5 ; ct2 = 6;
g<<ct1<<" "<<ct2<<" ";
while(ct1+4 <=n && ct2+4 <= n)
{
ct1 = ct1 + 4;
ct2 = ct2 + 4;
g<<ct1<<" "<<ct2<<" ";
}
}
}
return 0;
}