#include <stdio.h>
#include <stdlib.h>

int main() {
    int *A = (int *)malloc(2000 * sizeof(int));
    int *B = (int *)malloc(2000 * sizeof(int));
    int n = 0, m = 0;
    int val;

    // Baca array A hingga -9
    while (scanf("%d", &val) == 1 && val != -9) {
        A[n++] = val;
    }

    // Baca array B hingga -9
    while (scanf("%d", &val) == 1 && val != -9) {
        B[m++] = val;
    }

    // Alokasi array hasil
    int *C = (int *)malloc((n + m) * sizeof(int));
    int i = 0, j = 0, k = 0;

    // Merge dua array yang sudah terurut
    while (i < n && j < m) {
        if (A[i] <= B[j])
            C[k++] = A[i++];
        else
            C[k++] = B[j++];
    }
    while (i < n) C[k++] = A[i++];
    while (j < m) C[k++] = B[j++];

    // Cetak hasil
    for (int x = 0; x < k; x++) {
        if (x > 0) printf(" ");
        printf("%d", C[x]);
    }
    printf("\n");

    free(A);
    free(B);
    free(C);

    return 0;
}