Pagini recente » Cod sursa (job #2386047) | Cod sursa (job #1644623) | Cod sursa (job #1367016) | Cod sursa (job #251262) | Cod sursa (job #150050)
Cod sursa(job #150050)
#include <stdio.h>
int main()
{
freopen("multimi2.in", "r", stdin);
#ifndef _SCREEN_
freopen("multimi2.out", "w", stdout);
#endif
int N;
scanf("%d\n", &N);
if (N % 2 == 0) {
if (N == 2) printf("1\n1\n1\n1\n2\n");
else {
if ((N / 2) % 2 == 0) {
printf("0\n");
printf("%d\n", N / 2);
for (int i = 1; i <= N / 2; i += 2) printf("%d %d ", i, N - i + 1);
printf("\n");
printf("%d\n", N / 2);
for (int i = 2; i <= N / 2; i += 2) printf("%d %d ", i, N - i + 1);
printf("\n");
} else {
printf("1\n");
printf("%d\n", N / 2);
for (int i = 1; i < N / 2; i += 2) printf("%d %d ", i, N - i + 1);
printf("%d\n", N / 2);
printf("%d\n", N / 2);
for (int i = 2; i < N / 2; i += 2) printf("%d %d ", i, N - i + 1);
printf("%d\n", N / 2 + 1);
}
}
} else {
if (N - 3 >= 4) {
N -= 3;
if ((N / 2) % 2 == 0) {
printf("0\n");
printf("%d\n", N / 2 + 2);
printf("1 2 ");
for (int i = 1; i <= N / 2; i += 2) printf("%d %d ", i + 3, N - i + 4);
printf("\n");
printf("%d\n", N / 2 + 1);
printf("3 ");
for (int i = 2; i <= N / 2; i += 2) printf("%d %d ", i + 3, N - i + 4);
printf("\n");
} else {
printf("1\n");
printf("%d\n", N / 2 + 2);
printf("1 2 ");
for (int i = 1; i < N / 2; i += 2) printf("%d %d ", i + 3, N - i + 4);
printf("%d\n", N / 2);
printf("%d\n", N / 2 + 1);
printf("3 ");
for (int i = 2; i < N / 2; i += 2) printf("%d %d ", i + 3, N - i + 4);
printf("%d\n", N / 2 + 1);
}
} else {
if (N - 3 == 2) {
printf("1\n");
printf("3\n");
printf("1 2 5\n");
printf("2\n");
printf("3 4\n");
} else {
if (N - 3 == 0) {
printf("0\n2\n");
printf("1 2\n");
printf("1\n3\n");
}
}
}
}
return 0;
}