Зовсім нещодавно на одному із занять з програмування Петя вивчив оператор циклу while. Особливо Петі сподобалось використовувати цей оператор для зміни порядку елементів у деякоому масиві на протилежний. Для цього Петя навіть написав спеціальну процедуру.
На мові програмування Pascal ця процедура виглядає так:
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;
А на мові програмування С — ось так:
void Swap(int i, int j)
{
int tmp;
while (i < j) {
tmp = a[i]; a[i] = a[j]; a[j] = tmp;
i++; j–;
}
return;
}
Обидві процедури працюють з глобальним масивом натуральних чисел a_1, a_2, …, a_N. Елементи масиву пронумеровано з 1.
Тепер Петю цікавить питання, як буде виглядати деякий заданий масив з N натуральних чисел, якщо до нього послідовно застосувати процедури Swap(1, N), потім Swap(1, N-1), потім Swap(1, N-2), і так далі до Swap(1, 2)?
Вхідний файл містить два рядки. У першому рядку записано єдиное натуральне число N (2 ≤ N ≤ 100000) — кількість елементів у масиві.
У другому рядку записано N натуральних чисел a_1, a_2, …, a_N, (1 ≤ a_i ≤ 1000), відокремлених пропусками — елементи масиву.
Виведіть єдиний рядок, який містить елементи заданого масиву, відокремлені пропусками, у тому порядку, який буде отримано після застосування до цього масиву процедури Swap описаним вище способом.