#include<stdlib.h>
int cmp_int(const void* e1, const void* e2)
{
//规定e1<e2时,返回负数;e1=e2,返回0;e1>e2,返回正数;这样这里就是实现的升序效果
//若想实现降序,e1<e2时,返回正数;e1=e2,返回0;e1>e2,返回负数
//void类型的指针可接受任意类型的指针,缺点是无法进行计算
return *(int*)e2 - *(int*)e1;
}
int main()
{
int arr[2000] = { 0 };
int n = 0;
int m = 0;
scanf("%d %d", &n, &m);
int i = 0;
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
for (i = n; i < n + m; i++)
{
scanf("%d", &arr[i]);
}
qsort(arr,sizeof(arr)/sizeof(arr[0]),sizeof(arr[0]),cmp_int);
for (i = n + m - 1; i >= 0; i--)
{
printf("%d ", arr[i]);
}
return 0;
}