Задачи
Swap
Swap
Совсем недавно на одном из занятий по программированию Петя изучил оператор цикла \textbf{while}. Особенно Пете понравилось использовать этот оператор для изменения порядка элементов в некотором массиве на противоположный. Для этого Петя даже написал специальную процедуру.
\begin{verbatim}
procedure Swap(i, j : integer);
var
tmp : integer;
begin
while i < j do begin
tmp := a[i]; a[i] := a[j]; a[j] := tmp;
i := i + 1;
j := j - 1;
end;
end;
\end{verbatim}На языке программирования Pascal эта процедура выглядит так:
\begin{verbatim}
void Swap(int i, int j)
{
int tmp;
while (i < j) {
tmp = a[i]; a[i] = a[j]; a[j] = tmp;
i++; j--;
}
return;
}\end{verbatim}А на языке программирования С --- вот так:
Обе процедуры работают с глобальным массивом натуральных чисел \textbf{a_1}, \textbf{a_2}, …, \textbf{a_N}. Элементы массива пронумерованы с \textbf{1}.
Теперь Петю интересует вопрос, как будет выглядеть некоторый заданный массив из \textbf{N} натуральных чисел, если к нему последовательно применять процедуры \textbf{Swap(1, N)}, затем \textbf{Swap(1, N-1)}, затем \textbf{Swap(1, N-2)}, и так далее до \textbf{Swap(1, 2)}?
\InputFile
Входной файл содержит две строки. В первой строке записано единственное натуральное число \textbf{N} (\textbf{2} ≤ \textbf{N} ≤ \textbf{100000}) --- количество элементов в массиве.
Во второй строке записаны \textbf{N} натуральных чисел \textbf{a_1}, \textbf{a_2}, …, \textbf{a_N}, (\textbf{1} ≤ \textbf{a_i} ≤ \textbf{1000}), разделённых пробелами --- элементы массива.
\OutputFile
Выведите единственную строку, содержащую элементы исходного массива, разделённые пробелами, в том порядке, который получится после применения к этому массиву процедуры \textit{Swap} описанным выше способом.
Входные данные #1
5 3 2 4 6 2
Выходные данные #1
4 6 2 2 3