// 課題041
//n個の正の整数を入力させ、最初に奇数番目の数字を入力した順に並ばせ、
// 　　　　　　　　　　　次に偶数番目の数字を入力した逆順に表示させるプログラム
//             2026.07.02 24A2021 伊藤宗兼

#include <stdio.h>
#define DATAMAX 20

int main(void) {
	int n = 0; //入力されたデータの数 
	int number; // 入力されたデータ 
	int data[DATAMAX]; // 入力されたデータを格納する配列 
	int i;

	printf("好きな正の整数をいくつか入力してください。\n ");
	printf("終了するときはゼロを入力してください\n ");
	// n = 0; 
	scanf("%d", &number);
	
	//n=0と入力するまで続けるプログラム-----------------------------------------------------
	while (number != 0) {
		data[n++] = number;// n 個のデータを入力してもらい、data[]に格納  
		if (n == DATAMAX) {
			printf("データ数の上限%d を越えました。\n", DATAMAX);
			break;
		}
		scanf("%d", &number);
	}

	//1番目の数字を偶数、n番目の数字を偶数とした時の表示させ方-------------------------
	if (data[0] % 2 == 0 && data[n - 1] % 2 == 0) {
		for (i = 1; i < n; i = i + 2) {
			printf("%d ", data[i]);
		}
		for (i = n - 1; i >= 0; i = i - 2) {
			printf("%d ", data[i]);
		}
	}
	//1番目の数字を奇数、n番目の数字を偶数とした時の表示させ方-------------------------
	else if (data[0] % 2 != 0 && data[n - 1] % 2 == 0) {
		for (i = 0; i < n; i = i + 2) {
			printf("%d ", data[i]);
		}
		for (i = n - 1; i >= 0; i = i - 2) {
			printf("%d ", data[i]);
		}
	}
	//1番目の数字を偶数、n番目の数字を奇数とした時の表示させ方-------------------------
	else if (data[0] % 2 == 0 && data[n - 1] % 2 != 0) {
		for (i = 1; i < n; i = i + 2) {
			printf("%d ", data[i]);
		}
		for (i = n - 2; i >= 0; i = i - 2) {
			printf("%d ", data[i]);
		}
	}
	//1番目の数字を奇数、n番目の数字を奇数とした時の表示させ方-------------------------
	else {
		for (i = 0; i < n; i = i + 2) {
			printf("%d ", data[i]);
		}
		for (i = n - 2; i >= 0; i = i - 2) {
			printf("%d ", data[i]);
		}
	}
	printf("\n 終了します。\n");
	return 0;
}