#include <stdio.h>
int main()
{
	int a[2000];
	int i, j, tmp,n1,n2;

	scanf("%d %d", &n1, &n2);

	//先存n1个数到a数组中   下标为  0---n1-1
	for (i = 0; i < n1; i++)
	{
		scanf("%d", &a[i]);
	}

	//再存n2个数到a数组中,下标为n1--(n1+n2-1)
	for (j = n1; j< n1+n2; j++)
	{
		scanf("%d", &a[j]);
	}

	//一共n1+n2个数,进行冒泡排序   
	for (i = 1; i <= n1 + n2-1; i++)    //n1+n2个数,外循环n1+n2-1趟
	{
		for (j = 0; j < n1 + n2 - i; j++)   //数学关系要处理好
		{
			if (a[j] > a[j + 1])
			{
				tmp = a[j];
				a[j] = a[j + 1];
				a[j + 1] = tmp;
			}
		}
	}

	for (i = 0; i < n1 + n2; i++)
	{
		printf("%d ", a[i]);

	}


	return 0;
}