import sys

from collections import *

import heapq

import math

from math import gcd

import bisect

import copy

from itertools import permutations,accumulate,combinations,product

def input():

    return sys.stdin.readline()[:-1]

def ruiseki(lst):

    return [0]+list(accumulate(lst))

mod=pow(10,9)+7

al=[chr(ord('a') + i) for i in range(26)]

direction=[[1,0],[0,1],[-1,0],[0,-1]]



n=int(eval(input()))

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

lst=[0]*n

for i in range(n-1):

    lst[a[i]-1]+=1

# print(lst)

for i in range(n):

    print((lst[i]))
import bisect, copy, heapq, math, sys

from collections import *

from functools import lru_cache

from itertools import accumulate, combinations, permutations, product

def input():

    return sys.stdin.readline()[:-1]

def ruiseki(lst):

    return [0]+list(accumulate(lst))

def celi(a,b):

    return -(-a//b)

sys.setrecursionlimit(5000000)

mod=pow(10,9)+7

al=[chr(ord('a') + i) for i in range(26)]

direction=[[1,0],[0,1],[-1,0],[0,-1]]



n=int(eval(input()))

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



lst=[0]*n

for i in range(n-1):

    lst[a[i]-1]+=1

print((*lst))
import sys
from collections import *
import heapq
import math
from math import gcd
import bisect
import copy
from itertools import permutations, accumulate, combinations, product


def input():
    return sys.stdin.readline()[:-1]


def ruiseki(lst):
    return [0] + list(accumulate(lst))


mod = pow(10, 9) + 7
al = [chr(ord("a") + i) for i in range(26)]
direction = [[1, 0], [0, 1], [-1, 0], [0, -1]]
n = int(eval(input()))
a = list(map(int, input().split()))
lst = [0] * n
for i in range(n - 1):
    lst[a[i] - 1] += 1
# print(lst)
for i in range(n):
    print((lst[i]))

import bisect, copy, heapq, math, sys
from collections import *
from functools import lru_cache
from itertools import accumulate, combinations, permutations, product


def input():
    return sys.stdin.readline()[:-1]


def ruiseki(lst):
    return [0] + list(accumulate(lst))


def celi(a, b):
    return -(-a // b)


sys.setrecursionlimit(5000000)
mod = pow(10, 9) + 7
al = [chr(ord("a") + i) for i in range(26)]
direction = [[1, 0], [0, 1], [-1, 0], [0, -1]]
n = int(eval(input()))
a = list(map(int, input().split()))
lst = [0] * n
for i in range(n - 1):
    lst[a[i] - 1] += 1
print((*lst))

-import sys +import bisect, copy, heapq, math, sys -import heapq -import math -from math import gcd -import bisect -import copy -from itertools import permutations, accumulate, combinations, product +from functools import lru_cache +from itertools import accumulate, combinations, permutations, product +def celi(a, b): +    return -(-a // b) + + +sys.setrecursionlimit(5000000) -# print(lst) -for i in range(n): -    print((lst[i])) +print((*lst))