#include<stdio.h>
#include<stdlib.h>
 struct node{
     int data;
     struct node*left;
     struct node*right;
 };
  
 struct node*createnode(int value){
    struct node*newnode=(struct node*)malloc(sizeof(struct node));
    newnode->data=value;
    newnode->left=NULL;
    newnode->right=NULL;
    return newnode;
 }
 struct node*insert(struct node*root,int value){
     if(root==NULL)
     return createnode(value);
     if(value<root->data)
     root->left=insert(root->left,value);
     else if (value>root->data)
     root->right=insert(root->right,value);
     return root;
 }
  struct node*findmin(struct node*root){
      while(root->left!=NULL)
      root=root->left;
      return root;
  }
   struct node*Deletenode(struct node*root,int key){
       if(root==NULL)
       return NULL;
       if(key<root->data)
       root->left=Deletenode(root->left,key);
       else if(key>root->data)
       root->right=Deletenode(root->right,key);
       else{
           if(root->left==NULL){
               struct node*temp=root->right;
               free(root);
               return temp;
           }
           else if(root->right==NULL){
               struct node*temp=root->left;
               free(root);
               return temp;
           }
           struct node*temp=findmin(root->right);
           root->data=temp->data;
           root->right=Deletenode(root->right,temp->data);
       }
         return root;
   }
   void preOrder(struct node*root){
       if(root!=NULL){
           printf("%d",root->data);
           preorder(root->left);
           preorder(root->right);
       }
   }
   int isvalid(int n){
       return(n>=0 && n<=20);
   }
   int main()
   {
       int n,x;
       if(scanf("%d %d",&n,&x)!=2 ||! isvalid(n)){
           printf("Invalid input");
           return 0;
       }
       struct node* root=NULL;
       int value;
       for(int i=0;i<n;i++)
       if(scanf("%d",&value)!=1||value<0||value>1000){
           printf("Invalid input");
           return 0;
       }
        root=insert(root,value);
   }
     root=Deletenode(root,x);
     preorder(root);
     
     
     printf("\n");
     return 0;
  }