#include <stdio.h>
#include <stdlib.h>

#def MAX 2000001

void intersection(int *arr1, int n, int *arr2, int m) {
    if (n <= 0 || m <= 0) {
        printf("Invalid Input\n");
        return;
    }
    
    char *hash = (char *)calloc(MAX, sizeof(char));
    for (int i = 0; i < n; i++) {
        hash[arr1[i] + 1000000] = 1;
    }
    
    int found = 0;
    for (int i = 0; i < m; i++) {
        if (hash[arr2[i] + 1000000]) {
            printf("%d ", arr2[i]);
            hash[arr2[i] + 1000000] = 0;
            found = 1;
        }
    }
    
    if (!found) printf("No common elements");
    printf("\n");
    free(hash);
} 

int main() {
    int n, m;
    scanf("%d", &n);
    int *arr1 = (int *)malloc(n * sizeof(int));
    for (int i = 0; i < n; i++) scanf("%d", &arr1[i]);
    
    scanf("%d", &m);
    int *arr2 = (int *)malloc(n * sizeof(int));
    for (int i = 0; i < m; i++) scanf("%d", &arr2[i]);

    intersection(arr1, n, arr2, m);
    
    free(arr1); free(arr2);
    return 0;
}    
    
    
    
    
    
    
    
    
    
    
}