#include <stdio.h>

void merge(int arr1[], int n, int arr2[], int m) {
    int i = 0, j = 0, k = 0;
    int m[n + m];
    while (i < n && j < m) {
        if (arr1[i] <= arr2[j]) {
            m[k++] = arr1[i++];
        } else {
            m[k++] = arr2[j++];
        }
    }
    while (i < n) {
        m[k++] = arr1[i++];
    }
    while (j < m) {
        m[k++] = arr2[j++];
    }
    for (i = 0; i < n + m; i++) {
        printf("%d ", m[i]);
    }
    printf("\n");
}
int main() {
    int n, m;
    scanf("%d", &n);
    if (n <= 0) {
        printf("Invalid input\n");
        return 0;
    }
    int a1[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr1[i]);
    }
    scanf("%d", &m);
    if (m <= 0) {
        printf("Invalid input\n");
        return 0;
    }
    int a2[m];
    for (int i = 0; i < m; i++) {
        scanf("%d", &arr2[i]);
    }
    merge(a1, n, a2, m);
    return 0;
}