#include <stdio.h>
int read_array(int *arr, int size) {
for (int i = 0; i < size; i++) {
if (scanf("%d", &arr[i]) != 1) return 0;
}
return 1;
}
void reverse_array(int *arr, int start, int end) {
while (start < end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
// Алгоритм сдвига через 3 реверса (самый элегантный и без доп. памяти)
void cyclic_shift(int *arr, int size, int c) {
if (size == 0) return;
// Нормализуем сдвиг (чтобы c было в пределах 0..size-1)
c = c % size;
if (c < 0) {
c = c + size;
}
// Сдвиг влево на c эквивалентен:
reverse_array(arr, 0, c - 1);
reverse_array(arr, c, size - 1);
reverse_array(arr, 0, size - 1);
}
void print_array(int *arr, int size) {
for (int i = 0; i < size; i++) {
printf("%d", arr[i]);
if (i < size - 1) printf(" ");
}
printf("\n");
}
int main(void) {
int n;
if (scanf("%d", &n) != 1 || n <= 0 || n > 10) {
printf("n/a\n");
return 1;
}
int arr[10];
if (!read_array(arr, n)) {
printf("n/a\n");
return 1;
}
int c;
if (scanf("%d", &c) != 1) {
printf("n/a\n");
return 1;
}
cyclic_shift(arr, n, c);
print_array(arr, n);
return 0;
}