import java.util.*;
import java.io.*;
public class Main
{
	public static void main(String args[]) throws IOException{
		BufferedReader in = new BufferedReader();
		int n =in.nextInt();
		int[] arr = new int[n];
		for(int i=1; i<n; i++){
			arr[in.nextInt()-1]++;
		}
		for(int i:arr)
		out(i+"\n");
		
	}
	static void out(String s){
		System.out.print(s);
	}
}



class BufferedReader 
{ 
    java.io.BufferedReader br; 
    StringTokenizer st; 

    public BufferedReader() 
    { 
        br = new java.io.BufferedReader(new
                    InputStreamReader(System.in)); 
    } 

    public String next() 
    { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } 

    public int nextInt() 
    { 
        return Integer.parseInt(next()); 
    } 

    public long nextLong() 
    { 
        return Long.parseLong(next()); 
    } 

    public double nextDouble() 
    { 
        return Double.parseDouble(next()); 
    } 

    public String nextLine() 
    { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str; 
    } 
} import java.util.*; util.* java import java.io.*; io.* java public class Main
{
	public static void main(String args[]) throws IOException{
		BufferedReader in = new BufferedReader();
		int n =in.nextInt();
		int[] arr = new int[n];
		for(int i=1; i<n; i++){
			arr[in.nextInt()-1]++;
		}
		for(int i:arr)
		out(i+"\n");
		
	}
	static void out(String s){
		System.out.print(s);
	}
} Main public static void main(String args[]) throws IOException{
		BufferedReader in = new BufferedReader();
		int n =in.nextInt();
		int[] arr = new int[n];
		for(int i=1; i<n; i++){
			arr[in.nextInt()-1]++;
		}
		for(int i:arr)
		out(i+"\n");
		
	} main {
		BufferedReader in = new BufferedReader();
		int n =in.nextInt();
		int[] arr = new int[n];
		for(int i=1; i<n; i++){
			arr[in.nextInt()-1]++;
		}
		for(int i:arr)
		out(i+"\n");
		
	} BufferedReader in = new BufferedReader(); in new BufferedReader() int n =in.nextInt(); n in.nextInt() in.nextInt in int[] arr = new int[n]; arr new int[n] n for(int i=1; i<n; i++){
			arr[in.nextInt()-1]++;
		} int i=1; int i=1; i 1 i<n i n i++ i++ i {
			arr[in.nextInt()-1]++;
		} {
			arr[in.nextInt()-1]++;
		} arr[in.nextInt()-1]++ arr[in.nextInt()-1] arr in.nextInt()-1 in.nextInt() in.nextInt in 1 for(int i:arr)
		out(i+"\n"); int i arr out(i+"\n"); out(i+"\n") out i+"\n" i "\n" String args[] args static void out(String s){
		System.out.print(s);
	} out {
		System.out.print(s);
	} System.out.print(s) System.out.print System.out System System.out s String s s class BufferedReader 
{ 
    java.io.BufferedReader br; 
    StringTokenizer st; 

    public BufferedReader() 
    { 
        br = new java.io.BufferedReader(new
                    InputStreamReader(System.in)); 
    } 

    public String next() 
    { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } 

    public int nextInt() 
    { 
        return Integer.parseInt(next()); 
    } 

    public long nextLong() 
    { 
        return Long.parseLong(next()); 
    } 

    public double nextDouble() 
    { 
        return Double.parseDouble(next()); 
    } 

    public String nextLine() 
    { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str; 
    } 
} BufferedReader java.io.BufferedReader br; br StringTokenizer st; st public BufferedReader() 
    { 
        br = new java.io.BufferedReader(new
                    InputStreamReader(System.in)); 
    } BufferedReader { 
        br = new java.io.BufferedReader(new
                    InputStreamReader(System.in)); 
    } br = new java.io.BufferedReader(new
                    InputStreamReader(System.in)) br new java.io.BufferedReader(new
                    InputStreamReader(System.in)) public String next() 
    { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } next { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } st == null || !st.hasMoreElements() st == null st null !st.hasMoreElements() st.hasMoreElements() st.hasMoreElements st { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } IOException  e { 
                e.printStackTrace(); 
            } e.printStackTrace() e.printStackTrace e { 
                st = new StringTokenizer(br.readLine()); 
            } st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) return st.nextToken(); st.nextToken() st.nextToken st public int nextInt() 
    { 
        return Integer.parseInt(next()); 
    } nextInt { 
        return Integer.parseInt(next()); 
    } return Integer.parseInt(next()); Integer.parseInt(next()) Integer.parseInt Integer next() next public long nextLong() 
    { 
        return Long.parseLong(next()); 
    } nextLong { 
        return Long.parseLong(next()); 
    } return Long.parseLong(next()); Long.parseLong(next()) Long.parseLong Long next() next public double nextDouble() 
    { 
        return Double.parseDouble(next()); 
    } nextDouble { 
        return Double.parseDouble(next()); 
    } return Double.parseDouble(next()); Double.parseDouble(next()) Double.parseDouble Double next() next public String nextLine() 
    { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str; 
    } nextLine { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str; 
    } String str = ""; str "" try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } catch (IOException e) 
        { 
            e.printStackTrace(); 
        } IOException e { 
            e.printStackTrace(); 
        } e.printStackTrace() e.printStackTrace e { 
            str = br.readLine(); 
        } str = br.readLine() str br.readLine() br.readLine br return str; str public class Main
{
	public static void main(String args[]) throws IOException{
		BufferedReader in = new BufferedReader();
		int n =in.nextInt();
		int[] arr = new int[n];
		for(int i=1; i<n; i++){
			arr[in.nextInt()-1]++;
		}
		for(int i:arr)
		out(i+"\n");
		
	}
	static void out(String s){
		System.out.print(s);
	}
} public class Main
{
	public static void main(String args[]) throws IOException{
		BufferedReader in = new BufferedReader();
		int n =in.nextInt();
		int[] arr = new int[n];
		for(int i=1; i<n; i++){
			arr[in.nextInt()-1]++;
		}
		for(int i:arr)
		out(i+"\n");
		
	}
	static void out(String s){
		System.out.print(s);
	}
} Main
import java.util.*;
import java.io.*;
public class Main
{
	public static void main(String args[]) throws IOException{
		BufferedReader in = new BufferedReader();
		int n =in.nextInt();
		int[] arr = new int[n];
		for(int i=1; i<n; i++){
			arr[in.nextInt()-1]++;
		}
		for(int i:arr)
		out(i+"\n");
		
	}
	static void out(String s){
		System.out.print(s);
	}
}



class BufferedReader 
{ 
    java.io.BufferedReader br; 
    StringTokenizer st; 

    public BufferedReader() 
    { 
        br = new java.io.BufferedReader(new
                    InputStreamReader(System.in)); 
    } 

    public String next() 
    { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } 

    public int nextInt() 
    { 
        return Integer.parseInt(next()); 
    } 

    public long nextLong() 
    { 
        return Long.parseLong(next()); 
    } 

    public double nextDouble() 
    { 
        return Double.parseDouble(next()); 
    } 

    public String nextLine() 
    { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str; 
    } 
}