EduBrick

Сдвиг влево

2000 мс · 256 МБ · всё или ничего

Сдвиньте последовательность влево на kk позиций циклически: элемент с позиции i+ki + k переходит на позицию ii, а ушедшие за левый край возвращаются в конец.

Для набора 123451\,2\,3\,4\,5 и k=2k = 2 получается 345123\,4\,5\,1\,2.

Формат ввода

В первой строке nn от 11 до 10510^5 и kk от 00 до 101810^{18}. Во второй — nn чисел, каждое по модулю не больше 10910^9.

Формат вывода

Одна строка: nn чисел через пробел.

Примеры

ввод
5 2
1 2 3 4 5
вывод
3 4 5 1 2

Примечание

Любопытная асимметрия с классной задачей: здесь (i + k) % n даёт верный ответ и без предварительного k % n, потому что сумма остаётся положительной и не переполняет long long. При сдвиге вправо так не выйдет — там i - k уходит в минус, а остаток от отрицательного числа в C++ отрицателен.

Войдите, чтобы отправлять решения.