


import sys
input = sys.stdin.readline
n = int(input())
cards = list(map(int, input().split()))
m = int(input())
other = list(map(int, input().split()))
card_count = {}
for card in cards:
card_count[card] = card_count.get(card, 0) + 1
for card in other:
print(card_count.get(card, 0), end = ' ')
-card_count.get(card,0): card_count 딕셔너리에서 card가 없으면 0, card가 있으면 card를 반환한다.
동일한 원소의 포함 여부를 확인할 때 set은 해시 테이블(해시 맵) 기반이므로 매우 빠른 검색 성능O(1)을 보이지만, list는 원소를 처음부터 끝까지 순회해야 하므로 시간 복잡도가 O(n)으로 더 느리다. 이 점 때문에, 검색이나 중복 제거와 같은 작업에서는 set을 사용하는 것이 유리하다
dict.get(key, default)의 형태로 사용되며 key가 있으면 key를 반환하고 없으면 default값을 기본값으로 반환한다.
문자열의 문자가 비어있지 않고 모두 숫자로 이루어졌는지 판별한다.
문자열의 문자가 비어있지 않고 모두 알파벳으로만 이루어졌는지 판별한다.