#include<iostream>
using namespace std;
class node{
public:
long long int data;
node *next;
node(long long int d){
data = d;
next = NULL;
}
};
void insertAtTail(node *&head, long long int data){
if(head==NULL){
head= new node(data);
return;
}
node *tail = head;
while(tail->next!=NULL){
tail=tail->next;
}
tail->next=new node(data);
return;
}
void ll_k_append(node *&head, long long int k, long long int n){
node *temp = head;
node *temp2 = head;
if(k==n){
return;
}
else if(k>n){
k=k%n;
}
else if(k<n){
for(int i=0;i<(n-k);i++){
temp = temp->next;
}
temp2=temp;
temp = temp2->next;
temp2->next = NULL;
while(temp->next!=NULL){
temp = temp->next;
}
temp->next = head;
head = temp;
}
}
void print(node *head){
while(head!=NULL){
cout<<head->data<<" ";
head = head->next;
}
}
int main(){
node *head = NULL;
long long int n,k,data;
cin>>n;
for(int i=0;i<n;i++){
cin>>data;
insertAtTail(head,data);
}
cin>>k;
ll_k_append(head,k,n);
print(head);
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNsYXNzIG5vZGV7CnB1YmxpYzoKICAgIGxvbmcgbG9uZyBpbnQgZGF0YTsKICAgIG5vZGUgKm5leHQ7CiAgICBub2RlKGxvbmcgbG9uZyBpbnQgZCl7CiAgICBkYXRhID0gZDsKICAgIG5leHQgPSBOVUxMOwogICAgfQp9OwoKdm9pZCBpbnNlcnRBdFRhaWwobm9kZSAqJmhlYWQsIGxvbmcgbG9uZyBpbnQgZGF0YSl7CiAgICBpZihoZWFkPT1OVUxMKXsKICAgICAgICBoZWFkPSBuZXcgbm9kZShkYXRhKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBub2RlICp0YWlsID0gaGVhZDsKICAgIHdoaWxlKHRhaWwtPm5leHQhPU5VTEwpewogICAgICAgIHRhaWw9dGFpbC0+bmV4dDsKICAgIH0KICAgIHRhaWwtPm5leHQ9bmV3IG5vZGUoZGF0YSk7CiAgICByZXR1cm47Cn0KCgp2b2lkIGxsX2tfYXBwZW5kKG5vZGUgKiZoZWFkLCBsb25nIGxvbmcgaW50IGssIGxvbmcgbG9uZyBpbnQgbil7Cglub2RlICp0ZW1wID0gaGVhZDsKCW5vZGUgKnRlbXAyID0gaGVhZDsKCWlmKGs9PW4pewogICAgICAgIHJldHVybjsKCX0KCWVsc2UgaWYoaz5uKXsKICAgICAgICBrPWslbjsKCX0KICAgIGVsc2UgaWYoazxuKXsKICAgICAgIGZvcihpbnQgaT0wO2k8KG4tayk7aSsrKXsKICAgICAgICAgICAgdGVtcCA9IHRlbXAtPm5leHQ7CiAgICAgICAgfQogICAgICAgIHRlbXAyPXRlbXA7CiAgICAgICAgdGVtcCA9IHRlbXAyLT5uZXh0OwogICAgICAgIHRlbXAyLT5uZXh0ID0gTlVMTDsKCiAgICAgICAgd2hpbGUodGVtcC0+bmV4dCE9TlVMTCl7CiAgICAgICAgICAgIHRlbXAgPSB0ZW1wLT5uZXh0OwogICAgICAgIH0KICAgICAgICB0ZW1wLT5uZXh0ID0gaGVhZDsKICAgICAgICBoZWFkID0gdGVtcDsKfQoKfQoKdm9pZCBwcmludChub2RlICpoZWFkKXsKCXdoaWxlKGhlYWQhPU5VTEwpewoJCWNvdXQ8PGhlYWQtPmRhdGE8PCIgIjsKCQloZWFkID0gaGVhZC0+bmV4dDsKCX0KfQppbnQgbWFpbigpewoJbm9kZSAqaGVhZCA9IE5VTEw7Cglsb25nIGxvbmcgaW50IG4sayxkYXRhOwoJY2luPj5uOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgY2luPj5kYXRhOwogICAgICAgIGluc2VydEF0VGFpbChoZWFkLGRhdGEpOwoJfQoKCWNpbj4+azsKCWxsX2tfYXBwZW5kKGhlYWQsayxuKTsKCXByaW50KGhlYWQpOwoKCXJldHVybiAwOwp9Cg==