import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

public class Main {

	public static void main(String[] strArgs) throws Exception {
		BufferedReader br = null;

		try {
			br = new BufferedReader(new InputStreamReader(System.in));

			String[] strValues = readValues(br);

			int iEmpCount = toInt(strValues[0]);

			strValues = readValues(br);
			Map<String, Integer> map = new HashMap<String, Integer>();
			for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			}

			for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			}

		} finally {
			br.close();
		}
	}

	private static String[] readValues(BufferedReader br) throws IOException {
		return br.readLine().split("\\s");
	}

	private static int toInt(String str) {
		return Integer.parseInt(str);
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.HashMap; HashMap java.util import java.util.Map; Map java.util public class Main {

	public static void main(String[] strArgs) throws Exception {
		BufferedReader br = null;

		try {
			br = new BufferedReader(new InputStreamReader(System.in));

			String[] strValues = readValues(br);

			int iEmpCount = toInt(strValues[0]);

			strValues = readValues(br);
			Map<String, Integer> map = new HashMap<String, Integer>();
			for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			}

			for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			}

		} finally {
			br.close();
		}
	}

	private static String[] readValues(BufferedReader br) throws IOException {
		return br.readLine().split("\\s");
	}

	private static int toInt(String str) {
		return Integer.parseInt(str);
	}
} Main public static void main(String[] strArgs) throws Exception {
		BufferedReader br = null;

		try {
			br = new BufferedReader(new InputStreamReader(System.in));

			String[] strValues = readValues(br);

			int iEmpCount = toInt(strValues[0]);

			strValues = readValues(br);
			Map<String, Integer> map = new HashMap<String, Integer>();
			for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			}

			for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			}

		} finally {
			br.close();
		}
	} main {
		BufferedReader br = null;

		try {
			br = new BufferedReader(new InputStreamReader(System.in));

			String[] strValues = readValues(br);

			int iEmpCount = toInt(strValues[0]);

			strValues = readValues(br);
			Map<String, Integer> map = new HashMap<String, Integer>();
			for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			}

			for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			}

		} finally {
			br.close();
		}
	} BufferedReader br = null; br null try {
			br = new BufferedReader(new InputStreamReader(System.in));

			String[] strValues = readValues(br);

			int iEmpCount = toInt(strValues[0]);

			strValues = readValues(br);
			Map<String, Integer> map = new HashMap<String, Integer>();
			for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			}

			for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			}

		} finally {
			br.close();
		} {
			br.close();
		} br.close() br.close br {
			br = new BufferedReader(new InputStreamReader(System.in));

			String[] strValues = readValues(br);

			int iEmpCount = toInt(strValues[0]);

			strValues = readValues(br);
			Map<String, Integer> map = new HashMap<String, Integer>();
			for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			}

			for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			}

		} br = new BufferedReader(new InputStreamReader(System.in)) br new BufferedReader(new InputStreamReader(System.in)) String[] strValues = readValues(br); strValues readValues(br) readValues br int iEmpCount = toInt(strValues[0]); iEmpCount toInt(strValues[0]) toInt strValues[0] strValues 0 strValues = readValues(br) strValues readValues(br) readValues br Map<String, Integer> map = new HashMap<String, Integer>(); map new HashMap<String, Integer>() for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			} String strBossEmpNo strValues {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			} {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			} Integer iCount = map.get(strBossEmpNo); iCount map.get(strBossEmpNo) map.get map strBossEmpNo if (iCount == null) {
					iCount = 0;
				} iCount == null iCount null {
					iCount = 0;
				} iCount = 0 iCount 0 map.put(strBossEmpNo, ++iCount) map.put map strBossEmpNo ++iCount iCount for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			} int i = 0; int i = 0; i 0 i < iEmpCount i iEmpCount i++ i++ i {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			} {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			} Integer iCount = map.get(String.valueOf(i + 1)); iCount map.get(String.valueOf(i + 1)) map.get map String.valueOf(i + 1) String.valueOf String i + 1 i 1 if (iCount == null) { iCount = 0; } iCount == null iCount null { iCount = 0; } iCount = 0 iCount 0 System.out.println(iCount) System.out.println System.out System System.out iCount String[] strArgs strArgs private static String[] readValues(BufferedReader br) throws IOException {
		return br.readLine().split("\\s");
	} readValues {
		return br.readLine().split("\\s");
	} return br.readLine().split("\\s"); br.readLine().split("\\s") br.readLine().split br.readLine() br.readLine br "\\s" BufferedReader br br private static int toInt(String str) {
		return Integer.parseInt(str);
	} toInt {
		return Integer.parseInt(str);
	} return Integer.parseInt(str); Integer.parseInt(str) Integer.parseInt Integer str String str str public class Main {

	public static void main(String[] strArgs) throws Exception {
		BufferedReader br = null;

		try {
			br = new BufferedReader(new InputStreamReader(System.in));

			String[] strValues = readValues(br);

			int iEmpCount = toInt(strValues[0]);

			strValues = readValues(br);
			Map<String, Integer> map = new HashMap<String, Integer>();
			for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			}

			for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			}

		} finally {
			br.close();
		}
	}

	private static String[] readValues(BufferedReader br) throws IOException {
		return br.readLine().split("\\s");
	}

	private static int toInt(String str) {
		return Integer.parseInt(str);
	}
} public class Main {

	public static void main(String[] strArgs) throws Exception {
		BufferedReader br = null;

		try {
			br = new BufferedReader(new InputStreamReader(System.in));

			String[] strValues = readValues(br);

			int iEmpCount = toInt(strValues[0]);

			strValues = readValues(br);
			Map<String, Integer> map = new HashMap<String, Integer>();
			for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			}

			for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			}

		} finally {
			br.close();
		}
	}

	private static String[] readValues(BufferedReader br) throws IOException {
		return br.readLine().split("\\s");
	}

	private static int toInt(String str) {
		return Integer.parseInt(str);
	}
} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

public class Main {

	public static void main(String[] strArgs) throws Exception {
		BufferedReader br = null;

		try {
			br = new BufferedReader(new InputStreamReader(System.in));

			String[] strValues = readValues(br);

			int iEmpCount = toInt(strValues[0]);

			strValues = readValues(br);
			Map<String, Integer> map = new HashMap<String, Integer>();
			for (String strBossEmpNo : strValues) {
				Integer iCount = map.get(strBossEmpNo);
				if (iCount == null) {
					iCount = 0;
				}
				map.put(strBossEmpNo, ++iCount);
			}

			for (int i = 0; i < iEmpCount; i++) {
				Integer iCount = map.get(String.valueOf(i + 1));
				if (iCount == null) { iCount = 0; }
				System.out.println(iCount);
			}

		} finally {
			br.close();
		}
	}

	private static String[] readValues(BufferedReader br) throws IOException {
		return br.readLine().split("\\s");
	}

	private static int toInt(String str) {
		return Integer.parseInt(str);
	}
}
