import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class Main {
	public static void main(String[] args) {

		Scanner scanner=new Scanner(System.in);

		int n=scanner.nextInt();
		int m=scanner.nextInt();

		Map<Integer,Integer> data=new TreeMap<Integer,Integer>();

		for(int i=1;i<=n;i++) {
			data.put(i,0);
		}
		
		while(scanner.hasNext()) {

			Integer buf=scanner.nextInt();

			data.put(buf,data.get(buf)+1);
			
		}

		for(Integer key:data.keySet()) {
			System.out.println(data.get(key));
		}



		scanner.close();

	}

	public static int getsumofkakuketa(int n) {

		int result=0;

		while(true) {

			result+=n%10;

			if(n/10!=0) {
				n/=10;
			}else {
				return result;
			}
		}



	}

	public static boolean isMacthed(int a,int b,int sum) {

		if(sum>=a && sum<=b) {
			return true;
		}else {
			return false;
		}

	}



}




 import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util import java.util.TreeMap; TreeMap java.util public class Main {
	public static void main(String[] args) {

		Scanner scanner=new Scanner(System.in);

		int n=scanner.nextInt();
		int m=scanner.nextInt();

		Map<Integer,Integer> data=new TreeMap<Integer,Integer>();

		for(int i=1;i<=n;i++) {
			data.put(i,0);
		}
		
		while(scanner.hasNext()) {

			Integer buf=scanner.nextInt();

			data.put(buf,data.get(buf)+1);
			
		}

		for(Integer key:data.keySet()) {
			System.out.println(data.get(key));
		}



		scanner.close();

	}

	public static int getsumofkakuketa(int n) {

		int result=0;

		while(true) {

			result+=n%10;

			if(n/10!=0) {
				n/=10;
			}else {
				return result;
			}
		}



	}

	public static boolean isMacthed(int a,int b,int sum) {

		if(sum>=a && sum<=b) {
			return true;
		}else {
			return false;
		}

	}



} Main public static void main(String[] args) {

		Scanner scanner=new Scanner(System.in);

		int n=scanner.nextInt();
		int m=scanner.nextInt();

		Map<Integer,Integer> data=new TreeMap<Integer,Integer>();

		for(int i=1;i<=n;i++) {
			data.put(i,0);
		}
		
		while(scanner.hasNext()) {

			Integer buf=scanner.nextInt();

			data.put(buf,data.get(buf)+1);
			
		}

		for(Integer key:data.keySet()) {
			System.out.println(data.get(key));
		}



		scanner.close();

	} main {

		Scanner scanner=new Scanner(System.in);

		int n=scanner.nextInt();
		int m=scanner.nextInt();

		Map<Integer,Integer> data=new TreeMap<Integer,Integer>();

		for(int i=1;i<=n;i++) {
			data.put(i,0);
		}
		
		while(scanner.hasNext()) {

			Integer buf=scanner.nextInt();

			data.put(buf,data.get(buf)+1);
			
		}

		for(Integer key:data.keySet()) {
			System.out.println(data.get(key));
		}



		scanner.close();

	} Scanner scanner=new Scanner(System.in); scanner new Scanner(System.in) int n=scanner.nextInt(); n scanner.nextInt() scanner.nextInt scanner int m=scanner.nextInt(); m scanner.nextInt() scanner.nextInt scanner Map<Integer,Integer> data=new TreeMap<Integer,Integer>(); data new TreeMap<Integer,Integer>() for(int i=1;i<=n;i++) {
			data.put(i,0);
		} int i=1; int i=1; i 1 i<=n i n i++ i++ i {
			data.put(i,0);
		} {
			data.put(i,0);
		} data.put(i,0) data.put data i 0 while(scanner.hasNext()) {

			Integer buf=scanner.nextInt();

			data.put(buf,data.get(buf)+1);
			
		} scanner.hasNext() scanner.hasNext scanner {

			Integer buf=scanner.nextInt();

			data.put(buf,data.get(buf)+1);
			
		} Integer buf=scanner.nextInt(); buf scanner.nextInt() scanner.nextInt scanner data.put(buf,data.get(buf)+1) data.put data buf data.get(buf)+1 data.get(buf) data.get data buf 1 for(Integer key:data.keySet()) {
			System.out.println(data.get(key));
		} Integer key data.keySet() data.keySet data {
			System.out.println(data.get(key));
		} {
			System.out.println(data.get(key));
		} System.out.println(data.get(key)) System.out.println System.out System System.out data.get(key) data.get data key scanner.close() scanner.close scanner String[] args args public static int getsumofkakuketa(int n) {

		int result=0;

		while(true) {

			result+=n%10;

			if(n/10!=0) {
				n/=10;
			}else {
				return result;
			}
		}



	} getsumofkakuketa {

		int result=0;

		while(true) {

			result+=n%10;

			if(n/10!=0) {
				n/=10;
			}else {
				return result;
			}
		}



	} int result=0; result 0 while(true) {

			result+=n%10;

			if(n/10!=0) {
				n/=10;
			}else {
				return result;
			}
		} true {

			result+=n%10;

			if(n/10!=0) {
				n/=10;
			}else {
				return result;
			}
		} result+=n%10 result n%10 n 10 if(n/10!=0) {
				n/=10;
			}else {
				return result;
			} n/10!=0 n/10 n 10 0 {
				n/=10;
			} n/=10 n 10 {
				return result;
			} return result; result int n n public static boolean isMacthed(int a,int b,int sum) {

		if(sum>=a && sum<=b) {
			return true;
		}else {
			return false;
		}

	} isMacthed {

		if(sum>=a && sum<=b) {
			return true;
		}else {
			return false;
		}

	} if(sum>=a && sum<=b) {
			return true;
		}else {
			return false;
		} sum>=a && sum<=b sum>=a sum a sum<=b sum b {
			return true;
		} return true; true {
			return false;
		} return false; false int a a int b b int sum sum public class Main {
	public static void main(String[] args) {

		Scanner scanner=new Scanner(System.in);

		int n=scanner.nextInt();
		int m=scanner.nextInt();

		Map<Integer,Integer> data=new TreeMap<Integer,Integer>();

		for(int i=1;i<=n;i++) {
			data.put(i,0);
		}
		
		while(scanner.hasNext()) {

			Integer buf=scanner.nextInt();

			data.put(buf,data.get(buf)+1);
			
		}

		for(Integer key:data.keySet()) {
			System.out.println(data.get(key));
		}



		scanner.close();

	}

	public static int getsumofkakuketa(int n) {

		int result=0;

		while(true) {

			result+=n%10;

			if(n/10!=0) {
				n/=10;
			}else {
				return result;
			}
		}



	}

	public static boolean isMacthed(int a,int b,int sum) {

		if(sum>=a && sum<=b) {
			return true;
		}else {
			return false;
		}

	}



} public class Main {
	public static void main(String[] args) {

		Scanner scanner=new Scanner(System.in);

		int n=scanner.nextInt();
		int m=scanner.nextInt();

		Map<Integer,Integer> data=new TreeMap<Integer,Integer>();

		for(int i=1;i<=n;i++) {
			data.put(i,0);
		}
		
		while(scanner.hasNext()) {

			Integer buf=scanner.nextInt();

			data.put(buf,data.get(buf)+1);
			
		}

		for(Integer key:data.keySet()) {
			System.out.println(data.get(key));
		}



		scanner.close();

	}

	public static int getsumofkakuketa(int n) {

		int result=0;

		while(true) {

			result+=n%10;

			if(n/10!=0) {
				n/=10;
			}else {
				return result;
			}
		}



	}

	public static boolean isMacthed(int a,int b,int sum) {

		if(sum>=a && sum<=b) {
			return true;
		}else {
			return false;
		}

	}



} Main
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class Main {
	public static void main(String[] args) {

		Scanner scanner=new Scanner(System.in);

		int n=scanner.nextInt();
		int m=scanner.nextInt();

		Map<Integer,Integer> data=new TreeMap<Integer,Integer>();

		for(int i=1;i<=n;i++) {
			data.put(i,0);
		}
		
		while(scanner.hasNext()) {

			Integer buf=scanner.nextInt();

			data.put(buf,data.get(buf)+1);
			
		}

		for(Integer key:data.keySet()) {
			System.out.println(data.get(key));
		}



		scanner.close();

	}

	public static int getsumofkakuketa(int n) {

		int result=0;

		while(true) {

			result+=n%10;

			if(n/10!=0) {
				n/=10;
			}else {
				return result;
			}
		}



	}

	public static boolean isMacthed(int a,int b,int sum) {

		if(sum>=a && sum<=b) {
			return true;
		}else {
			return false;
		}

	}



}





