#include <stdio.h>
#include <stdlib.h>

void mergeArrays(int *arr1, int n1, int *arr2, int n2)
{
    int *merged = (int *)malloc((n1 + n2) * sizeof(int));
    int i = 0, j = 0, k = 0;
    while (i < n1 && j < n2)
    {
        if (*(arr1 + i) < *(arr2 + j))
        {
            *(merged + k) = *(arr1 + i);
            i++;
        }
        else
        {
            *(merged + k) = *(arr2 + j);
            j++;
        }
        k++;
    }
    while (i < n1)
    {
        *(merged + k) = *(arr1 + i);
        i++;
        k++;
    }
    while (j < n2)
    {
        *(merged + k) = *(arr2 + j);
        j++;
        k++;
    }
    for (int x = 0; x< n1+n2; x++)
    {
        printf("%d ", *(merged + x));
    }
    printf("\n");
    free(merged);
}
int main()
{
    int n1, n2;
    scanf("%d", &n1);
    if (n1 <= 0)
    {
        printf("Invalid input");
        return 0;
    }
    int *arr1 = (int *)malloc(n1 * sizeof(int));
    for (int i = 0; i  < n1; i++)
    {
        scanf("%d", (arr1 + i));
    }
    scanf("%d", &n2);
    if (n2 <= 0)
    {
        printf("Invalid input");
        free(arr1);
        return 0;
    }
    int *arr2 = (int *)malloc(n2 * sizeof(int));
    for (int i=0; i<n2;i++)
    {
        scanf("%d", (arr2 + i));
    }
    mergeArrays(arr1, n1, arr2, n2);
    free(arr1);
    free(arr2);
    return 0;
}
        
    }
    }
}