import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//List<String> list=new ArrayList<String>(Arrays.asList(s.split("")));
		//List<Integer> list=new ArrayList<Integer>();
		//int[] array = new int[n];
		int n = sc.nextInt();
		int[] array = new int[n+1];

		for(int i=0;n+1>i;i++) {
			array[i]=0;
		}
		for(int i=0;n-1>i;i++) {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		}

		for(int i=0;n>i;i++) {
			System.out.println(array[i]);
		}
		/*

		int max = Collections.max(list);
		int[] answer = new int[n];
		for(int i=0;n>i;i++) {
			answer[i]=0;
		}
		System.out.println(array[1]);
		loop :for(int i=1;max+1>i;i++) {
			for(int j=0;n-1>j;j++) {
				if(list.get(j)==i) {
					answer[j]=array[i+1];
					continue loop;
				}
			}
		}
		for(int i=0;n-1>i;i++) {
			System.out.println(answer[i]);
		}
		*/

	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//List<String> list=new ArrayList<String>(Arrays.asList(s.split("")));
		//List<Integer> list=new ArrayList<Integer>();
		//int[] array = new int[n];
		int n = sc.nextInt();
		int[] array = new int[n+1];

		for(int i=0;n+1>i;i++) {
			array[i]=0;
		}
		for(int i=0;n-1>i;i++) {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		}

		for(int i=0;n>i;i++) {
			System.out.println(array[i]);
		}
		/*

		int max = Collections.max(list);
		int[] answer = new int[n];
		for(int i=0;n>i;i++) {
			answer[i]=0;
		}
		System.out.println(array[1]);
		loop :for(int i=1;max+1>i;i++) {
			for(int j=0;n-1>j;j++) {
				if(list.get(j)==i) {
					answer[j]=array[i+1];
					continue loop;
				}
			}
		}
		for(int i=0;n-1>i;i++) {
			System.out.println(answer[i]);
		}
		*/

	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//List<String> list=new ArrayList<String>(Arrays.asList(s.split("")));
		//List<Integer> list=new ArrayList<Integer>();
		//int[] array = new int[n];
		int n = sc.nextInt();
		int[] array = new int[n+1];

		for(int i=0;n+1>i;i++) {
			array[i]=0;
		}
		for(int i=0;n-1>i;i++) {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		}

		for(int i=0;n>i;i++) {
			System.out.println(array[i]);
		}
		/*

		int max = Collections.max(list);
		int[] answer = new int[n];
		for(int i=0;n>i;i++) {
			answer[i]=0;
		}
		System.out.println(array[1]);
		loop :for(int i=1;max+1>i;i++) {
			for(int j=0;n-1>j;j++) {
				if(list.get(j)==i) {
					answer[j]=array[i+1];
					continue loop;
				}
			}
		}
		for(int i=0;n-1>i;i++) {
			System.out.println(answer[i]);
		}
		*/

	} main {
		Scanner sc = new Scanner(System.in);
		//List<String> list=new ArrayList<String>(Arrays.asList(s.split("")));
		//List<Integer> list=new ArrayList<Integer>();
		//int[] array = new int[n];
		int n = sc.nextInt();
		int[] array = new int[n+1];

		for(int i=0;n+1>i;i++) {
			array[i]=0;
		}
		for(int i=0;n-1>i;i++) {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		}

		for(int i=0;n>i;i++) {
			System.out.println(array[i]);
		}
		/*

		int max = Collections.max(list);
		int[] answer = new int[n];
		for(int i=0;n>i;i++) {
			answer[i]=0;
		}
		System.out.println(array[1]);
		loop :for(int i=1;max+1>i;i++) {
			for(int j=0;n-1>j;j++) {
				if(list.get(j)==i) {
					answer[j]=array[i+1];
					continue loop;
				}
			}
		}
		for(int i=0;n-1>i;i++) {
			System.out.println(answer[i]);
		}
		*/

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int[] array = new int[n+1]; array new int[n+1] n+1 n 1 for(int i=0;n+1>i;i++) {
			array[i]=0;
		} int i=0; int i=0; i 0 n+1>i n+1 n 1 i i++ i++ i {
			array[i]=0;
		} {
			array[i]=0;
		} array[i]=0 array[i] array i 0 for(int i=0;n-1>i;i++) {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		} int i=0; int i=0; i 0 n-1>i n-1 n 1 i i++ i++ i {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		} {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		} int a = sc.nextInt(); a sc.nextInt() sc.nextInt sc array[a-1]++ array[a-1] array a-1 a 1 for(int i=0;n>i;i++) {
			System.out.println(array[i]);
		} int i=0; int i=0; i 0 n>i n i i++ i++ i {
			System.out.println(array[i]);
		} {
			System.out.println(array[i]);
		} System.out.println(array[i]) System.out.println System.out System System.out array[i] array i String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//List<String> list=new ArrayList<String>(Arrays.asList(s.split("")));
		//List<Integer> list=new ArrayList<Integer>();
		//int[] array = new int[n];
		int n = sc.nextInt();
		int[] array = new int[n+1];

		for(int i=0;n+1>i;i++) {
			array[i]=0;
		}
		for(int i=0;n-1>i;i++) {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		}

		for(int i=0;n>i;i++) {
			System.out.println(array[i]);
		}
		/*

		int max = Collections.max(list);
		int[] answer = new int[n];
		for(int i=0;n>i;i++) {
			answer[i]=0;
		}
		System.out.println(array[1]);
		loop :for(int i=1;max+1>i;i++) {
			for(int j=0;n-1>j;j++) {
				if(list.get(j)==i) {
					answer[j]=array[i+1];
					continue loop;
				}
			}
		}
		for(int i=0;n-1>i;i++) {
			System.out.println(answer[i]);
		}
		*/

	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//List<String> list=new ArrayList<String>(Arrays.asList(s.split("")));
		//List<Integer> list=new ArrayList<Integer>();
		//int[] array = new int[n];
		int n = sc.nextInt();
		int[] array = new int[n+1];

		for(int i=0;n+1>i;i++) {
			array[i]=0;
		}
		for(int i=0;n-1>i;i++) {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		}

		for(int i=0;n>i;i++) {
			System.out.println(array[i]);
		}
		/*

		int max = Collections.max(list);
		int[] answer = new int[n];
		for(int i=0;n>i;i++) {
			answer[i]=0;
		}
		System.out.println(array[1]);
		loop :for(int i=1;max+1>i;i++) {
			for(int j=0;n-1>j;j++) {
				if(list.get(j)==i) {
					answer[j]=array[i+1];
					continue loop;
				}
			}
		}
		for(int i=0;n-1>i;i++) {
			System.out.println(answer[i]);
		}
		*/

	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//List<String> list=new ArrayList<String>(Arrays.asList(s.split("")));
		//List<Integer> list=new ArrayList<Integer>();
		//int[] array = new int[n];
		int n = sc.nextInt();
		int[] array = new int[n+1];

		for(int i=0;n+1>i;i++) {
			array[i]=0;
		}
		for(int i=0;n-1>i;i++) {
			int a = sc.nextInt();
			//list.add(a);
			array[a-1]++;
		}

		for(int i=0;n>i;i++) {
			System.out.println(array[i]);
		}
		/*

		int max = Collections.max(list);
		int[] answer = new int[n];
		for(int i=0;n>i;i++) {
			answer[i]=0;
		}
		System.out.println(array[1]);
		loop :for(int i=1;max+1>i;i++) {
			for(int j=0;n-1>j;j++) {
				if(list.get(j)==i) {
					answer[j]=array[i+1];
					continue loop;
				}
			}
		}
		for(int i=0;n-1>i;i++) {
			System.out.println(answer[i]);
		}
		*/

	}
}