#include<stdio.h>

int cmp(const void *a, const void *b)
{
int ia =*(const int*)a;
int ib =*(const int*)b;
if (ia < ib) return-1;
if (ia > ib) return 1;
return 0;
}
void main(void)
{
    long long N_LL;
    long long X_LL;
    if (scanf("%lld", &N_LL) !=1);
    if (scanf("%lld", &N_LL) !=1);
    if( N_LL < 0|| X_LL < 0)
    {
        printf("inavlid input\n");
      
    }
    int N=(int)N_LL;
    int X=(int)X_LL;
    
    int *arr = malloc((size_t)(N + 1))*sizeof(int));
    if (!arr)
    {
        fprintf(stderr, "memory alloaction failed\n");
        return 1;
    }
    for(int i=0;i<N;++i)
    {
        if(scanf("%d", &arr[i])!=1){
            arr[i] = 0;
        }
    }
    arr[N] = x;
    qsort(arr,(size_t)(N+1), sizeof(int), cmp);
    
    for(int i=0;i<N+1;++i){
        if (i) printf("%d",arr[i]);
    
    
    }
    printf("\n");
    free(arr);
    return 0;
}