import java.io.BufferedReader;
import java.io.*;
import java.util.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Collections;

public class Main {
	public static void main(final String[] args){
    
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        List<Integer> list = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();

        for(int i = 1 ; i < n ; i++){
            list.add(sc.nextInt());
        }

        for(int i = 0 ; i < n ; i++){
            list2.add(0);
        }

        for(int i = 0 ; i < n-1 ; i++){
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        }

        for(int i = 0 ; i < n ; i++){
            System.out.println(list2.get(i));
        }


  
                


    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.*; io.* java import java.util.*; util.* java import java.util.ArrayList; ArrayList java.util import java.util.Iterator; Iterator java.util import java.util.List; List java.util import java.util.Collections; Collections java.util public class Main {
	public static void main(final String[] args){
    
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        List<Integer> list = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();

        for(int i = 1 ; i < n ; i++){
            list.add(sc.nextInt());
        }

        for(int i = 0 ; i < n ; i++){
            list2.add(0);
        }

        for(int i = 0 ; i < n-1 ; i++){
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        }

        for(int i = 0 ; i < n ; i++){
            System.out.println(list2.get(i));
        }


  
                


    }
} Main public static void main(final String[] args){
    
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        List<Integer> list = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();

        for(int i = 1 ; i < n ; i++){
            list.add(sc.nextInt());
        }

        for(int i = 0 ; i < n ; i++){
            list2.add(0);
        }

        for(int i = 0 ; i < n-1 ; i++){
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        }

        for(int i = 0 ; i < n ; i++){
            System.out.println(list2.get(i));
        }


  
                


    } main {
    
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        List<Integer> list = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();

        for(int i = 1 ; i < n ; i++){
            list.add(sc.nextInt());
        }

        for(int i = 0 ; i < n ; i++){
            list2.add(0);
        }

        for(int i = 0 ; i < n-1 ; i++){
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        }

        for(int i = 0 ; i < n ; i++){
            System.out.println(list2.get(i));
        }


  
                


    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc List<Integer> list = new ArrayList<>(); list new ArrayList<>() List<Integer> list2 = new ArrayList<>(); list2 new ArrayList<>() for(int i = 1 ; i < n ; i++){
            list.add(sc.nextInt());
        } int i = 1 ; int i = 1 ; i 1 i < n i n i++ i++ i {
            list.add(sc.nextInt());
        } {
            list.add(sc.nextInt());
        } list.add(sc.nextInt()) list.add list sc.nextInt() sc.nextInt sc for(int i = 0 ; i < n ; i++){
            list2.add(0);
        } int i = 0 ; int i = 0 ; i 0 i < n i n i++ i++ i {
            list2.add(0);
        } {
            list2.add(0);
        } list2.add(0) list2.add list2 0 for(int i = 0 ; i < n-1 ; i++){
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        } int i = 0 ; int i = 0 ; i 0 i < n-1 i n-1 n 1 i++ i++ i {
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        } {
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        } list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1) list2.set list2 list.get(i)-1 list.get(i) list.get list i 1 list2.get(list.get(i)-1)+1 list2.get(list.get(i)-1) list2.get list2 list.get(i)-1 list.get(i) list.get list i 1 1 for(int i = 0 ; i < n ; i++){
            System.out.println(list2.get(i));
        } int i = 0 ; int i = 0 ; i 0 i < n i n i++ i++ i {
            System.out.println(list2.get(i));
        } {
            System.out.println(list2.get(i));
        } System.out.println(list2.get(i)) System.out.println System.out System System.out list2.get(i) list2.get list2 i final String[] args args public class Main {
	public static void main(final String[] args){
    
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        List<Integer> list = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();

        for(int i = 1 ; i < n ; i++){
            list.add(sc.nextInt());
        }

        for(int i = 0 ; i < n ; i++){
            list2.add(0);
        }

        for(int i = 0 ; i < n-1 ; i++){
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        }

        for(int i = 0 ; i < n ; i++){
            System.out.println(list2.get(i));
        }


  
                


    }
} public class Main {
	public static void main(final String[] args){
    
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        List<Integer> list = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();

        for(int i = 1 ; i < n ; i++){
            list.add(sc.nextInt());
        }

        for(int i = 0 ; i < n ; i++){
            list2.add(0);
        }

        for(int i = 0 ; i < n-1 ; i++){
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        }

        for(int i = 0 ; i < n ; i++){
            System.out.println(list2.get(i));
        }


  
                


    }
} Main
import java.io.BufferedReader;
import java.io.*;
import java.util.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Collections;

public class Main {
	public static void main(final String[] args){
    
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        List<Integer> list = new ArrayList<>();
        List<Integer> list2 = new ArrayList<>();

        for(int i = 1 ; i < n ; i++){
            list.add(sc.nextInt());
        }

        for(int i = 0 ; i < n ; i++){
            list2.add(0);
        }

        for(int i = 0 ; i < n-1 ; i++){
            list2.set(list.get(i)-1, list2.get(list.get(i)-1)+1);
            //System.out.println(list2);
        }

        for(int i = 0 ; i < n ; i++){
            System.out.println(list2.get(i));
        }


  
                


    }
}