Pagini recente » Cod sursa (job #2202528) | Cod sursa (job #1777689) | Cod sursa (job #2160690) | Cod sursa (job #1995754) | Cod sursa (job #788798)
Cod sursa(job #788798)
#include <cstdio>
using namespace std;
const int MaxN = 1000005;
int N, S[2][MaxN], D;
inline int Insert(int X[], int V) {
X[++X[0]] = V;
}
void Solve() {
int i;
for (i = N; i >= 4; i -= 4) {
Insert(S[0], i), Insert(S[0], i-3);
Insert(S[1], i-1), Insert(S[1], i-2);
}
if (i == 3) {
D = 0;
Insert(S[0], 1), Insert(S[0], 2);
Insert(S[1], 3);
}
if (i == 2) {
D = 1;
Insert(S[0], 1);
Insert(S[1], 2);
}
if (i == 1) {
D = 1;
Insert(S[0], 1);
}
}
void Read() {
freopen("multimi2.in", "r", stdin);
scanf("%d", &N);
}
void PrintX(int X[]) {
printf("%d\n", X[0]);
for (int i = 1; i <= X[0]; ++i)
printf("%d ", X[i]);
printf("\n");
}
void Print() {
freopen("multimi2.out", "w", stdout);
printf("%d\n", D);
PrintX(S[0]);
PrintX(S[1]);
}
int main() {
Read();
Solve();
Print();
return 0;
}