#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
void ringShift(int* a, int n, int k)
{
//循环移动后的数值仍然存入数组a中
int * p;
int i;
p = (int*)malloc(n* sizeof(int));
for (i = 0; i < n; i++)
{
if (i < k)
{
p[i] =a[i - k + n];
}
else
{
p[i] = a[i - k];
}
}
for (i = 0; i < n; i++)
{
printf("%d ", p[i]);
}
}
int main()
{
int n, k;
scanf("%d", &n);
int* a = (int*)malloc(n * sizeof(int));
for (int i = 0; i < n; i++)
{
scanf("%d", a + i);
}
scanf("%d", &k);
ringShift(a, n, k);
return 0;
}