#include<stdio.h>

int main()
{
    int n, m = 0;
    scanf("%d %d", &n, &m);//分别输入两个数组的元素个数
    int a[1000] = {0};
    int b[1000] = {0};
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);//输入第一个数组中的元素
    }
    for (int i = 0; i < m; i++)
    {
        scanf("%d", &b[i]);//输入第二个数组中的元素
    }
    int j = 0;
    for (int i = n; i < n + m; i++)//将第二个数组的元素放置于第一个数组的元素之后
    {
        a[i] = b[j];
        j++;
    }
    int temp = 0;
    for (int i = 0; i < n + m -1; i++)//冒泡排序  从小到大
    {
        for (int k = 0; k < n + m - 1 -i; k++)
        {
            if (a[k] > a[k + 1])
            {
                temp = a[k];
                a[k] = a[k + 1];
                a[k + 1] = temp;
            }
        }
    }
    for (int i = 0; i < n + m ; i++)
    {
        printf("%d ", a[i]);
    }
    return 0;
}