#include <stdio.h>
#include <stdlib.h>
int compare(const void* a, const void* b) {
    const int* intA = (int*)a;
    const int* intB = (int*)b;
    return *intA - *intB;
}

int main() {
    int num1, num2;
    scanf("%d", &num1);
    int* arr1 = (int*)malloc(num1 * sizeof(int));
    for(int i = 0; i < num1; i++) scanf("%d", &arr1[i]);
    // for(int i = 0; i < num1; i++) {
        // printf("arr1[%d] = %d\n", i, arr1[i]);
    // }
    scanf("%d", &num2);
    int* arr2 = (int*)malloc(num2 * sizeof(int));
    for(int i = 0; i < num2 ;i++) scanf("%d", &arr2[i]);
    // for(int i = 0; i < num2; i++) {
        // printf("arr2[%d] = %d\n", i, arr2[i]);
    // }
    int* arr3 = (int*)malloc((num1 + num2) * sizeof(int));
    for(int i = 0; i < num1; i++) {
        arr3[i] = arr1[i];
        // printf("arr3[%d] = %d\n", i, arr3[i]);
    }
    for(int i = 0; i < num2; i++) {
        arr3[num1 + i] = arr2[i];
        // printf("arr3[%d] is %d\n", num1 + i , arr3[num1 + i]);
    } 
    qsort(arr3, num1 + num2, sizeof(int), compare);
    for(int i = 0; i < num1 + num2; i++) {
        if(!((i >= 1) && (arr3[i] == arr3[i - 1]))) {
            printf("%d", arr3[i]);
        }
    }
    free(arr1);
    free(arr2);
    free(arr3);
    return 0;
}