Ограничения: время – 2s/4s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)
Для работы с “циклическим” списком из N целых чисел имеются две операции. Операция Top переставляет первый элемент списка в конец списка, а операция Bottom переставляет последний элемент списка в начало списка. В некоторой программе всегда выполняется сначала K операций Top, а затем L операций Bottom, потом снова K операций Top, затем L операций Bottom, и так далее. Так как число выполняемых операций над списком в данной программе может быть достаточно большим, то применение стандартных подпрограмм приведет к неэффективному расходу машинного времени. К счастью, в данном случае существует достаточно простой способ ускорить определение по числу выполненных операций конечного состояния списка. Напишите программу, которая для заданного списка, K и L определяет состояние списка после X выполненных элементарных операций.
Ввод
Во входном файле в первой строке содержатся натуральные числа N, K и L (1≤N,K,L≤100). Во второй строке содержится N целых чисел (начальное состояние списка), все числа по модулю не превышают 10000. В третьей строке содержится число X (0≤X≤2000000000).
Вывод
В выходной файл вывести список после выполнения X операций, разделяя числа одним пробелом.
Пример ввода
5 2 1
1 2 3 4 5
10