Pagini recente » Cod sursa (job #1199574) | Cod sursa (job #1840965) | Cod sursa (job #3211702) | Cod sursa (job #1581478) | Cod sursa (job #1934016)
#include <cstdio>
int main(){
freopen("multimi2.in", "r", stdin);
freopen("multimi2.out", "w", stdout);
int N; scanf("%d", &N);
switch(N % 4){
case 0: printf("0\n%d\n", N / 2);
for(int i = 1; i <= N / 4; i++){
printf("%d %d ", i, N - i + 1);
}printf("\n%d\n", N / 2);
for(int i = N / 4 + 1; i <= N / 2; i++){
printf("%d %d ", i, N - i + 1);
}break;
case 1: printf("1\n%d\n1 ", N / 2 + 1); N--;
for(int i = 1; i <= N / 4; i++){
printf("%d %d ", i + 1, N - i + 2);
}printf("\n%d\n", N / 2);
for(int i = N / 4 + 1; i <= N / 2; i++){
printf("%d %d ", i + 1, N - i + 2);
}break;
case 2: printf("1\n%d\n1 ", N / 2); N -= 2;
for(int i = 1; i <= N / 4; i++){
printf("%d %d ", i + 2, N - i + 3);
}printf("\n%d\n2 ", N / 2 + 1);
for(int i = N / 4 + 1; i <= N / 2; i++){
printf("%d %d ", i + 2, N - i + 3);
}break;
case 3: printf("0\n%d\n1 2 ", N / 2 + 1); N -= 3;
for(int i = 1; i <= N / 4; i++){
printf("%d %d ", i + 3, N - i + 4);
}printf("\n%d\n3 ", N / 2 + 1);
for(int i = N / 4 + 1; i <= N / 2; i++){
printf("%d %d ", i + 3, N - i + 4);
}break;
}
return 0;
}