import java.util.*;
import java.io.*;


class Main {

    public static void main(String[] args) throws IOException
    {
        PrintWriter out = new PrintWriter(System.out);
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());

        int arr[] = new int[n+1];
        StringTokenizer st1 = new StringTokenizer(br.readLine());
        for(int i = 0 ; i < n-1 ; i++)
        {
            int tmp = Integer.parseInt(st1.nextToken());
            arr[tmp]++;
        }
        for(int i = 1 ; i <= n ; i++)
            out.println(arr[i]);
        out.flush();
        out.close();

    }

    static class pair{
        long x1;
        long x2;

        public pair(long x1 , long x2)
        {
            this.x1 = x1;
            this.x2 = x2;
        }

    }

} import java.util.*; util.* java import java.io.*; io.* java class Main {

    public static void main(String[] args) throws IOException
    {
        PrintWriter out = new PrintWriter(System.out);
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());

        int arr[] = new int[n+1];
        StringTokenizer st1 = new StringTokenizer(br.readLine());
        for(int i = 0 ; i < n-1 ; i++)
        {
            int tmp = Integer.parseInt(st1.nextToken());
            arr[tmp]++;
        }
        for(int i = 1 ; i <= n ; i++)
            out.println(arr[i]);
        out.flush();
        out.close();

    }

    static class pair{
        long x1;
        long x2;

        public pair(long x1 , long x2)
        {
            this.x1 = x1;
            this.x2 = x2;
        }

    }

} Main public static void main(String[] args) throws IOException
    {
        PrintWriter out = new PrintWriter(System.out);
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());

        int arr[] = new int[n+1];
        StringTokenizer st1 = new StringTokenizer(br.readLine());
        for(int i = 0 ; i < n-1 ; i++)
        {
            int tmp = Integer.parseInt(st1.nextToken());
            arr[tmp]++;
        }
        for(int i = 1 ; i <= n ; i++)
            out.println(arr[i]);
        out.flush();
        out.close();

    } main {
        PrintWriter out = new PrintWriter(System.out);
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());

        int arr[] = new int[n+1];
        StringTokenizer st1 = new StringTokenizer(br.readLine());
        for(int i = 0 ; i < n-1 ; i++)
        {
            int tmp = Integer.parseInt(st1.nextToken());
            arr[tmp]++;
        }
        for(int i = 1 ; i <= n ; i++)
            out.println(arr[i]);
        out.flush();
        out.close();

    } PrintWriter out = new PrintWriter(System.out); out new PrintWriter(System.out) BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) int n = Integer.parseInt(br.readLine()); n Integer.parseInt(br.readLine()) Integer.parseInt Integer br.readLine() br.readLine br int arr[] = new int[n+1]; arr new int[n+1] n+1 n 1 StringTokenizer st1 = new StringTokenizer(br.readLine()); st1 new StringTokenizer(br.readLine()) for(int i = 0 ; i < n-1 ; i++)
        {
            int tmp = Integer.parseInt(st1.nextToken());
            arr[tmp]++;
        } int i = 0 ; int i = 0 ; i 0 i < n-1 i n-1 n 1 i++ i++ i {
            int tmp = Integer.parseInt(st1.nextToken());
            arr[tmp]++;
        } {
            int tmp = Integer.parseInt(st1.nextToken());
            arr[tmp]++;
        } int tmp = Integer.parseInt(st1.nextToken()); tmp Integer.parseInt(st1.nextToken()) Integer.parseInt Integer st1.nextToken() st1.nextToken st1 arr[tmp]++ arr[tmp] arr tmp for(int i = 1 ; i <= n ; i++)
            out.println(arr[i]); int i = 1 ; int i = 1 ; i 1 i <= n i n i++ i++ i out.println(arr[i]); out.println(arr[i]) out.println out arr[i] arr i out.flush() out.flush out out.close() out.close out String[] args args static class pair{
        long x1;
        long x2;

        public pair(long x1 , long x2)
        {
            this.x1 = x1;
            this.x2 = x2;
        }

    } pair long x1; x1 long x2; x2 public pair(long x1 , long x2)
        {
            this.x1 = x1;
            this.x2 = x2;
        } pair {
            this.x1 = x1;
            this.x2 = x2;
        } this.x1 = x1 this.x1 this this.x1 x1 this.x2 = x2 this.x2 this this.x2 x2 long x1 x1 long x2 x2
import java.util.*;
import java.io.*;


class Main {

    public static void main(String[] args) throws IOException
    {
        PrintWriter out = new PrintWriter(System.out);
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());

        int arr[] = new int[n+1];
        StringTokenizer st1 = new StringTokenizer(br.readLine());
        for(int i = 0 ; i < n-1 ; i++)
        {
            int tmp = Integer.parseInt(st1.nextToken());
            arr[tmp]++;
        }
        for(int i = 1 ; i <= n ; i++)
            out.println(arr[i]);
        out.flush();
        out.close();

    }

    static class pair{
        long x1;
        long x2;

        public pair(long x1 , long x2)
        {
            this.x1 = x1;
            this.x2 = x2;
        }

    }

}
