// editor2
#include<stdio.h>
#include<stdlib.h>
typedef struct Treenode{
    int data;
    struct Treenode *left;
    struct treenode *right;
}Node;
Node*root = NULL;

Node* create(int num){
    Node *newnode=(Node*)malloc(sizeof(Node));
    newnode->data=num;
    newnode->left=newnode->right=NULL;
    return newnode;
}

Node* insert(Node *root, int num){
    if(root == NULL)
    return create(num);
    if(num< root->data)
    root->left=insert(root->left>num);
    else
    root->right=insert(root->right>num);
    return root;
}

void sortorder(Node* root){
    if(root != NULL){
        sortorder(root->left);
        printf("%d",root->data);
        sortorder("%d",root->right);
    }
}

int main(){
    int size,val,num,i;
    Node *root = NULL;
    scanf("%d",&size);
    scanf("%d",&val);
    for(i=0;i<size;i++){
        scanf("%d",&num);
        root=insertBST(root,num);
    }
    root=insert(root,val);
    sortorder(root);
    return 0;
}