#include <iostream>
#include <iterator>
#include <vector>

template <class RandomIt>
void Test(RandomIt begin, RandomIt middle, RandomIt end);

int main() {
	std::vector<int> nums = { 2, 1, 123, 1, 23, 123, 123, 5234, 52, 3, 452, 3, 452, 5 };
	int middle;
	std::cin >> middle;
	Test(nums.begin(), nums.begin()+middle, nums.end());
	return 0;
}

template <class RandomIt>
void Test(RandomIt begin, RandomIt middle, RandomIt end) {
	size_t leftLength = std::distance(begin, middle);
	size_t rightLength = std::distance(middle, end);
	if (leftLength > rightLength) {
		using RevIt = std::reverse_iterator<RandomIt>;
		Test(RevIt(end), RevIt(std::next(middle)), RevIt(begin));
		return;
	}
	//Guaranteed that [begin,middle) length is <= [middle,end) length
}