#include <stdio.h>
#include <stdlib.h>
struct Node{
    int rideID;
    struct Node* prev;
    struct Node* next;
};
void insertAfter(struct Node* prevNode, int newID){
    if (prevNode == NULL){
        printf("Invalid input\n");
        return;
    }
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->rideID = newID;
newNode->next = prevNode->next;
prevNode->next = newNode;
if (newNode->next != NULL){
    newNode->next->prev = newNode;
   }
}
void printList(struct Node* node){
    while (node != NULL){
        printf("%d" , node->rideID);
        node = node->next;
    }
printf("\n");
}
int main(){
    int n, targetID, newID;
    scanf("%d" , &n);
    struct Node* head = NULL;
    struct Node* tail = NULL;
    for (int i = 0; i < n; i++){
        int rideID;
        scanf("%d" , &rideID);
        struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
        newNode->rideID = rideID;
        newNode->prev =   tail;
        newNode->next = NULL;
        if (tail !=NULL){
            tail->next = newnode;
        }
        tail = newNode;
        if (head == NULL){
            head = newNode;
        }
}
scanf("%d %d" , &targetID, &newID);
struct Node* current = head;
while (current !=NULl && current->rideID != targetID){
    current = current->next;
}
insertAfter(current, newID);
printList(head);
return 0;
}
)
}
        }