import java.util.ArrayList;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		ArrayList<Integer> num = new ArrayList<Integer>();
		ArrayList<String> param = new ArrayList<String>();
		int system = 0; // 文字の空白区切り 0:ON 1:OFF

		while (sc.hasNext()) {
			if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			}
		}
		Method(num, param);
	}

	static void Method(ArrayList<Integer> num, ArrayList<String> param) {
		int[] bottle = new int[num.get(0)+1];

		for (int i = 2; i < num.size(); i++) {
			bottle[num.get(i)]++;
		}

		for (int i = 1; i < bottle.length; i++) {
			System.out.println(bottle[i]);
		}
	}
} import java.util.ArrayList; ArrayList java.util import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		ArrayList<Integer> num = new ArrayList<Integer>();
		ArrayList<String> param = new ArrayList<String>();
		int system = 0; // 文字の空白区切り 0:ON 1:OFF

		while (sc.hasNext()) {
			if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			}
		}
		Method(num, param);
	}

	static void Method(ArrayList<Integer> num, ArrayList<String> param) {
		int[] bottle = new int[num.get(0)+1];

		for (int i = 2; i < num.size(); i++) {
			bottle[num.get(i)]++;
		}

		for (int i = 1; i < bottle.length; i++) {
			System.out.println(bottle[i]);
		}
	}
} Main public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		ArrayList<Integer> num = new ArrayList<Integer>();
		ArrayList<String> param = new ArrayList<String>();
		int system = 0; // 文字の空白区切り 0:ON 1:OFF

		while (sc.hasNext()) {
			if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			}
		}
		Method(num, param);
	} main {
		Scanner sc = new Scanner(System.in);
		ArrayList<Integer> num = new ArrayList<Integer>();
		ArrayList<String> param = new ArrayList<String>();
		int system = 0; // 文字の空白区切り 0:ON 1:OFF

		while (sc.hasNext()) {
			if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			}
		}
		Method(num, param);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) ArrayList<Integer> num = new ArrayList<Integer>(); num new ArrayList<Integer>() ArrayList<String> param = new ArrayList<String>(); param new ArrayList<String>() int system = 0; system 0 while (sc.hasNext()) {
			if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			}
		} sc.hasNext() sc.hasNext sc {
			if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			}
		} if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			} sc.hasNextInt() sc.hasNextInt sc {
				num.add(sc.nextInt());
			} num.add(sc.nextInt()) num.add num sc.nextInt() sc.nextInt sc {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			} if (system == 0)
					param.add(sc.next()); system == 0 system 0 param.add(sc.next()) param.add param sc.next() sc.next sc if (system == 1)
					param.add(sc.nextLine()); system == 1 system 1 param.add(sc.nextLine()) param.add param sc.nextLine() sc.nextLine sc Method(num, param) Method num param String[] args args static void Method(ArrayList<Integer> num, ArrayList<String> param) {
		int[] bottle = new int[num.get(0)+1];

		for (int i = 2; i < num.size(); i++) {
			bottle[num.get(i)]++;
		}

		for (int i = 1; i < bottle.length; i++) {
			System.out.println(bottle[i]);
		}
	} Method {
		int[] bottle = new int[num.get(0)+1];

		for (int i = 2; i < num.size(); i++) {
			bottle[num.get(i)]++;
		}

		for (int i = 1; i < bottle.length; i++) {
			System.out.println(bottle[i]);
		}
	} int[] bottle = new int[num.get(0)+1]; bottle new int[num.get(0)+1] num.get(0)+1 num.get(0) num.get num 0 1 for (int i = 2; i < num.size(); i++) {
			bottle[num.get(i)]++;
		} int i = 2; int i = 2; i 2 i < num.size() i num.size() num.size num i++ i++ i {
			bottle[num.get(i)]++;
		} {
			bottle[num.get(i)]++;
		} bottle[num.get(i)]++ bottle[num.get(i)] bottle num.get(i) num.get num i for (int i = 1; i < bottle.length; i++) {
			System.out.println(bottle[i]);
		} int i = 1; int i = 1; i 1 i < bottle.length i bottle.length bottle bottle.length i++ i++ i {
			System.out.println(bottle[i]);
		} {
			System.out.println(bottle[i]);
		} System.out.println(bottle[i]) System.out.println System.out System System.out bottle[i] bottle i ArrayList<Integer> num num ArrayList<String> param param public class Main {
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		ArrayList<Integer> num = new ArrayList<Integer>();
		ArrayList<String> param = new ArrayList<String>();
		int system = 0; // 文字の空白区切り 0:ON 1:OFF

		while (sc.hasNext()) {
			if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			}
		}
		Method(num, param);
	}

	static void Method(ArrayList<Integer> num, ArrayList<String> param) {
		int[] bottle = new int[num.get(0)+1];

		for (int i = 2; i < num.size(); i++) {
			bottle[num.get(i)]++;
		}

		for (int i = 1; i < bottle.length; i++) {
			System.out.println(bottle[i]);
		}
	}
} public class Main {
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		ArrayList<Integer> num = new ArrayList<Integer>();
		ArrayList<String> param = new ArrayList<String>();
		int system = 0; // 文字の空白区切り 0:ON 1:OFF

		while (sc.hasNext()) {
			if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			}
		}
		Method(num, param);
	}

	static void Method(ArrayList<Integer> num, ArrayList<String> param) {
		int[] bottle = new int[num.get(0)+1];

		for (int i = 2; i < num.size(); i++) {
			bottle[num.get(i)]++;
		}

		for (int i = 1; i < bottle.length; i++) {
			System.out.println(bottle[i]);
		}
	}
} Main
import java.util.ArrayList;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		ArrayList<Integer> num = new ArrayList<Integer>();
		ArrayList<String> param = new ArrayList<String>();
		int system = 0; // 文字の空白区切り 0:ON 1:OFF

		while (sc.hasNext()) {
			if (sc.hasNextInt()) {
				num.add(sc.nextInt());
			} else {
				if (system == 0)
					param.add(sc.next());
				if (system == 1)
					param.add(sc.nextLine());
			}
		}
		Method(num, param);
	}

	static void Method(ArrayList<Integer> num, ArrayList<String> param) {
		int[] bottle = new int[num.get(0)+1];

		for (int i = 2; i < num.size(); i++) {
			bottle[num.get(i)]++;
		}

		for (int i = 1; i < bottle.length; i++) {
			System.out.println(bottle[i]);
		}
	}
}