

N=int(eval(input()))

A=list(map(int,input().split()))



A.sort()

if A[0]==0:

    A.remove(0)



l=len(A)

k=0



ans=1



m=max(A)



for i in range(l-1):

    if A[i+1]>A[i]:

        k=A[i]

        print(ans)

        while A[i+1]!=k+1:

            k=k+1

            print((0))

        ans=1

    else:

        ans=ans+1

if A[l-1]==A[l-2]:

    print(ans)

else:

    print(ans)

    

   

for j in range(m+1,N+1):

    print((0))

N=int(eval(input()))

A=list(map(int,input().split()))



L=[0]*N





for i in A:

    L[i-1]+=1





for i in range(N):

    print((L[i]))
N = int(eval(input()))
A = list(map(int, input().split()))
A.sort()
if A[0] == 0:
    A.remove(0)
l = len(A)
k = 0
ans = 1
m = max(A)
for i in range(l - 1):
    if A[i + 1] > A[i]:
        k = A[i]
        print(ans)
        while A[i + 1] != k + 1:
            k = k + 1
            print((0))
        ans = 1
    else:
        ans = ans + 1
if A[l - 1] == A[l - 2]:
    print(ans)
else:
    print(ans)
for j in range(m + 1, N + 1):
    print((0))

N = int(eval(input()))
A = list(map(int, input().split()))
L = [0] * N
for i in A:
    L[i - 1] += 1
for i in range(N):
    print((L[i]))

-A.sort() -if A[0] == 0: -    A.remove(0) -l = len(A) -k = 0 -ans = 1 -m = max(A) -for i in range(l - 1): -    if A[i + 1] > A[i]: -        k = A[i] -        print(ans) -        while A[i + 1] != k + 1: -            k = k + 1 -            print((0)) -        ans = 1 -    else: -        ans = ans + 1 -if A[l - 1] == A[l - 2]: -    print(ans) -else: -    print(ans) -for j in range(m + 1, N + 1): -    print((0)) +L = [0] * N +for i in A: +    L[i - 1] += 1 +for i in range(N): +    print((L[i]))