#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
    return (int a - int b);
}

int main() {
    int n1, n2;
    int *arr1, *arr2, *merged;
    int i;
    scanf("%d", &n1);
    arr1 = (int*)malloc(n1 * sizeof(int));
    for (i = 0; i < n1; i++) {
        scanf("%d", arr1 + i);
    }
    scanf("%d", &n2);
    arr2 = (int*)malloc(n2 * sizeof(int));
    for (i = 0; i < n2; i++) {
        scanf("%d", arr2 + i);
    }
    merged = (int*)malloc((n1 + n2) * sizeof(int));
    for (i = 0; i < n1; i++) {
        *(merged + i) = *(arr1 + i);
    }
    for (i = 0; i < n2; i++) {
        *(merged + n1 + i) = *(arr2 + i);
    }
    qsort(merged, n1 + n2, sizeof(int), compare);
    for (i = 0; i < n1 + n2; i++) {
        printf("%d ", *(merged + i));
    }
    printf("\n");
    free(arr1);
    free(arr2);
    free(merged);

    return 0;
}