#include<stdio.h>
#include<stdlib.h>

struct Node {
    int data;
    struct Node*prev;
    struct Node* next;

    
};
struct Node* createNode(int data){
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data=data;
    newNode->prev = NULL;
    newNode->next=NULL;
    return newNode;
}
void append(struct Node** head,int data) {
    struct Node*newNode=createNode(data);
    if(*head==NULL){
    *head=newNode;
    return ;
}
   struct Node*temp=*head;
   while (temp->next !=NULL) {
        temp = temp->next;
}
   temp->next=newNode;
   newNode->prev=temp;
  }
  void insertAtposition(struct Node** head,int pos,int value,int n){
      if(pos<0 || pos>n) {
          printf("Invalid input\n");
          exit(0);
      }
      struct Node*newNode=createNode(value);
      if(pos==0) {
          newNode->next=*head;
          if(*head !=NULL)
          (*head)->prev=newNode;
          *head=newNode;
          return;
      }
      struct Node* temp=*head;
      int index = 0;
      while (temp !=NULL && index < pos-1) {
          temp = temp->next;
          index ++;
      }
      if (temp->next==NULL && pos == n){
          temp->next=newNode;
          newNode->prev=temp;
          return ;
      }
      struct Node* current = temp->next;
      temp->next=newNode;
      newNode->prev=temp;
      newNode->next=current;
      if(current !=NULL)
      current->prev=newNode;
  }
  void printList(struct Node* head){
      struct Node* temp=head;
      while(temp !=NULL){
          printf("%d ",temp->data);
          temp=temp->next;
      }
      printf("\n");
      }
      int main(){
          int n;
          if (scanf("%d",&n) !=1||n<1||n>1000) {
              printf("Invalid input\n");
              return 0;
          }
          append(&head,value);
      }
      int pos,value;
      if(scanf("%d",&pos)!=1||scanf("%d",&value)
      printf("Invalid input\n");
      return 0;
  }
      insertAtPosition(&head,pos,value,n);
        printList(head);
    return 0;
  }