import java.util.*;
import java.io.*;
import java.math.*;


import static java.lang.Math.*;
import static java.util.Arrays.*;
import static java.util.Collections.*;


public class Main{ 


    static long mod=1000000007;
     static int dx[]={1,-1,0,0};
      static int dy[]={0,0,1,-1};
    // static int dx[]={1,-1,0,0,1,1,-1,-1};
    // static int dy[]={0,0,1,-1,1,-1,1,-1}; 

public  static void main(String[] args)   throws Exception, IOException{

    
    Reader sc = new Reader(System.in);
    PrintWriter out=new PrintWriter(System.out);

//  int n=sc.nextInt();  
  int n=sc.nextInt(), m=sc.nextInt();  
   int d[] = new int[100];
   for( int i=0; i<m; i++ ){
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   }
   for( int i=1; i<=n; i++ ){
    out.println(d[i]);
   }

    // out.println();
    out.flush();
}

static void db(Object... os){

    System.err.println(Arrays.deepToString(os));

}

static boolean validpos(int x,int y,int r, int c){
    
    return x<r && 0<=x && y<c && 0<=y;
    
}
 
static boolean bit(long x,int k){
    // weather k-th bit (from right) be one or zero
    return  ( 0 < ( (x>>k) & 1 )  )  ? true:false;
}

}

class XY {
    int x,y,d;
    XY(int x, int y, int d) {
        this.x=x;
        this.y=y;
        this.d=d;
    } 
}

class P implements Comparable<P>{
    int x,y;
    P(int x, int y) {
        this.x=x;
        this.y=y;
    } 
      
    public int compareTo(P p){
        return x - p.x;
    } 
}

class Reader
{ 
    private BufferedReader x;
    private StringTokenizer st;
    
    public Reader(InputStream in)
    {
        x = new BufferedReader(new InputStreamReader(in));
        st = null;
    }
    public String nextString() throws IOException
    {
        while( st==null || !st.hasMoreTokens() )
            st = new StringTokenizer(x.readLine());
        return st.nextToken();
    }
    public int nextInt() throws IOException
    {
        return Integer.parseInt(nextString());
    }
    public long nextLong() throws IOException
    {
        return Long.parseLong(nextString());
    }
    public double nextDouble() throws IOException
    {
        return Double.parseDouble(nextString());
    }
}
 import java.util.*; util.* java import java.io.*; io.* java import java.math.*; math.* java import static java.lang.Math.*; import static java.lang.Math.*; import static java.lang.Math.*; import static java.util.Arrays.*; import static java.util.Arrays.*; import static java.util.Arrays.*; import static java.util.Collections.*; import static java.util.Collections.*; import static java.util.Collections.*; public class Main{ 


    static long mod=1000000007;
     static int dx[]={1,-1,0,0};
      static int dy[]={0,0,1,-1};
    // static int dx[]={1,-1,0,0,1,1,-1,-1};
    // static int dy[]={0,0,1,-1,1,-1,1,-1}; 

public  static void main(String[] args)   throws Exception, IOException{

    
    Reader sc = new Reader(System.in);
    PrintWriter out=new PrintWriter(System.out);

//  int n=sc.nextInt();  
  int n=sc.nextInt(), m=sc.nextInt();  
   int d[] = new int[100];
   for( int i=0; i<m; i++ ){
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   }
   for( int i=1; i<=n; i++ ){
    out.println(d[i]);
   }

    // out.println();
    out.flush();
}

static void db(Object... os){

    System.err.println(Arrays.deepToString(os));

}

static boolean validpos(int x,int y,int r, int c){
    
    return x<r && 0<=x && y<c && 0<=y;
    
}
 
static boolean bit(long x,int k){
    // weather k-th bit (from right) be one or zero
    return  ( 0 < ( (x>>k) & 1 )  )  ? true:false;
}

} Main static long mod=1000000007; mod 1000000007 static int dx[]={1,-1,0,0}; dx {1,-1,0,0} 1 -1 1 0 0 static int dy[]={0,0,1,-1}; dy {0,0,1,-1} 0 0 1 -1 1 public  static void main(String[] args)   throws Exception, IOException{

    
    Reader sc = new Reader(System.in);
    PrintWriter out=new PrintWriter(System.out);

//  int n=sc.nextInt();  
  int n=sc.nextInt(), m=sc.nextInt();  
   int d[] = new int[100];
   for( int i=0; i<m; i++ ){
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   }
   for( int i=1; i<=n; i++ ){
    out.println(d[i]);
   }

    // out.println();
    out.flush();
} main {

    
    Reader sc = new Reader(System.in);
    PrintWriter out=new PrintWriter(System.out);

//  int n=sc.nextInt();  
  int n=sc.nextInt(), m=sc.nextInt();  
   int d[] = new int[100];
   for( int i=0; i<m; i++ ){
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   }
   for( int i=1; i<=n; i++ ){
    out.println(d[i]);
   }

    // out.println();
    out.flush();
} Reader sc = new Reader(System.in); sc new Reader(System.in) PrintWriter out=new PrintWriter(System.out); out new PrintWriter(System.out) int n=sc.nextInt() n sc.nextInt() sc.nextInt sc m=sc.nextInt(); m sc.nextInt() sc.nextInt sc int d[] = new int[100]; d new int[100] 100 for( int i=0; i<m; i++ ){
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   } int i=0; int i=0; i 0 i<m i m i++ i++ i {
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   } {
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   } int a=sc.nextInt(); a sc.nextInt() sc.nextInt sc int b=sc.nextInt(); b sc.nextInt() sc.nextInt sc d[a]++ d[a] d a d[b]++ d[b] d b for( int i=1; i<=n; i++ ){
    out.println(d[i]);
   } int i=1; int i=1; i 1 i<=n i n i++ i++ i {
    out.println(d[i]);
   } {
    out.println(d[i]);
   } out.println(d[i]) out.println out d[i] d i out.flush() out.flush out String[] args args static void db(Object... os){

    System.err.println(Arrays.deepToString(os));

} db {

    System.err.println(Arrays.deepToString(os));

} System.err.println(Arrays.deepToString(os)) System.err.println System.err System System.err Arrays.deepToString(os) Arrays.deepToString Arrays os Object... os os static boolean validpos(int x,int y,int r, int c){
    
    return x<r && 0<=x && y<c && 0<=y;
    
} validpos {
    
    return x<r && 0<=x && y<c && 0<=y;
    
} return x<r && 0<=x && y<c && 0<=y; x<r && 0<=x && y<c && 0<=y y<c x<r && 0<=x && y<c && 0<=y x<r x r 0<=x 0 x y<c y c 0<=y 0 y int x x int y y int r r int c c static boolean bit(long x,int k){
    // weather k-th bit (from right) be one or zero
    return  ( 0 < ( (x>>k) & 1 )  )  ? true:false;
} bit {
    // weather k-th bit (from right) be one or zero
    return  ( 0 < ( (x>>k) & 1 )  )  ? true:false;
} return  ( 0 < ( (x>>k) & 1 )  )  ? true:false; ( 0 < ( (x>>k) & 1 )  )  ? true:false ( 0 < ( (x>>k) & 1 )  ) 0 ( (x>>k) & 1 ) (x>>k) x k 1 true false long x x int k k class XY {
    int x,y,d;
    XY(int x, int y, int d) {
        this.x=x;
        this.y=y;
        this.d=d;
    } 
} XY int x x y y d; d XY(int x, int y, int d) {
        this.x=x;
        this.y=y;
        this.d=d;
    } XY {
        this.x=x;
        this.y=y;
        this.d=d;
    } this.x=x this.x this this.x x this.y=y this.y this this.y y this.d=d this.d this this.d d int x x int y y int d d class P implements Comparable<P>{
    int x,y;
    P(int x, int y) {
        this.x=x;
        this.y=y;
    } 
      
    public int compareTo(P p){
        return x - p.x;
    } 
} P int x x y; y P(int x, int y) {
        this.x=x;
        this.y=y;
    } P {
        this.x=x;
        this.y=y;
    } this.x=x this.x this this.x x this.y=y this.y this this.y y int x x int y y public int compareTo(P p){
        return x - p.x;
    } compareTo {
        return x - p.x;
    } return x - p.x; x - p.x x p.x p p.x P p p Comparable class Reader
{ 
    private BufferedReader x;
    private StringTokenizer st;
    
    public Reader(InputStream in)
    {
        x = new BufferedReader(new InputStreamReader(in));
        st = null;
    }
    public String nextString() throws IOException
    {
        while( st==null || !st.hasMoreTokens() )
            st = new StringTokenizer(x.readLine());
        return st.nextToken();
    }
    public int nextInt() throws IOException
    {
        return Integer.parseInt(nextString());
    }
    public long nextLong() throws IOException
    {
        return Long.parseLong(nextString());
    }
    public double nextDouble() throws IOException
    {
        return Double.parseDouble(nextString());
    }
} Reader private BufferedReader x; x private StringTokenizer st; st public Reader(InputStream in)
    {
        x = new BufferedReader(new InputStreamReader(in));
        st = null;
    } Reader {
        x = new BufferedReader(new InputStreamReader(in));
        st = null;
    } x = new BufferedReader(new InputStreamReader(in)) x new BufferedReader(new InputStreamReader(in)) st = null st null InputStream in in public String nextString() throws IOException
    {
        while( st==null || !st.hasMoreTokens() )
            st = new StringTokenizer(x.readLine());
        return st.nextToken();
    } nextString {
        while( st==null || !st.hasMoreTokens() )
            st = new StringTokenizer(x.readLine());
        return st.nextToken();
    } while( st==null || !st.hasMoreTokens() )
            st = new StringTokenizer(x.readLine()); st==null || !st.hasMoreTokens() st==null st null !st.hasMoreTokens() st.hasMoreTokens() st.hasMoreTokens st st = new StringTokenizer(x.readLine()) st new StringTokenizer(x.readLine()) return st.nextToken(); st.nextToken() st.nextToken st public int nextInt() throws IOException
    {
        return Integer.parseInt(nextString());
    } nextInt {
        return Integer.parseInt(nextString());
    } return Integer.parseInt(nextString()); Integer.parseInt(nextString()) Integer.parseInt Integer nextString() nextString public long nextLong() throws IOException
    {
        return Long.parseLong(nextString());
    } nextLong {
        return Long.parseLong(nextString());
    } return Long.parseLong(nextString()); Long.parseLong(nextString()) Long.parseLong Long nextString() nextString public double nextDouble() throws IOException
    {
        return Double.parseDouble(nextString());
    } nextDouble {
        return Double.parseDouble(nextString());
    } return Double.parseDouble(nextString()); Double.parseDouble(nextString()) Double.parseDouble Double nextString() nextString public class Main{ 


    static long mod=1000000007;
     static int dx[]={1,-1,0,0};
      static int dy[]={0,0,1,-1};
    // static int dx[]={1,-1,0,0,1,1,-1,-1};
    // static int dy[]={0,0,1,-1,1,-1,1,-1}; 

public  static void main(String[] args)   throws Exception, IOException{

    
    Reader sc = new Reader(System.in);
    PrintWriter out=new PrintWriter(System.out);

//  int n=sc.nextInt();  
  int n=sc.nextInt(), m=sc.nextInt();  
   int d[] = new int[100];
   for( int i=0; i<m; i++ ){
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   }
   for( int i=1; i<=n; i++ ){
    out.println(d[i]);
   }

    // out.println();
    out.flush();
}

static void db(Object... os){

    System.err.println(Arrays.deepToString(os));

}

static boolean validpos(int x,int y,int r, int c){
    
    return x<r && 0<=x && y<c && 0<=y;
    
}
 
static boolean bit(long x,int k){
    // weather k-th bit (from right) be one or zero
    return  ( 0 < ( (x>>k) & 1 )  )  ? true:false;
}

} public class Main{ 


    static long mod=1000000007;
     static int dx[]={1,-1,0,0};
      static int dy[]={0,0,1,-1};
    // static int dx[]={1,-1,0,0,1,1,-1,-1};
    // static int dy[]={0,0,1,-1,1,-1,1,-1}; 

public  static void main(String[] args)   throws Exception, IOException{

    
    Reader sc = new Reader(System.in);
    PrintWriter out=new PrintWriter(System.out);

//  int n=sc.nextInt();  
  int n=sc.nextInt(), m=sc.nextInt();  
   int d[] = new int[100];
   for( int i=0; i<m; i++ ){
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   }
   for( int i=1; i<=n; i++ ){
    out.println(d[i]);
   }

    // out.println();
    out.flush();
}

static void db(Object... os){

    System.err.println(Arrays.deepToString(os));

}

static boolean validpos(int x,int y,int r, int c){
    
    return x<r && 0<=x && y<c && 0<=y;
    
}
 
static boolean bit(long x,int k){
    // weather k-th bit (from right) be one or zero
    return  ( 0 < ( (x>>k) & 1 )  )  ? true:false;
}

} Main
import java.util.*;
import java.io.*;
import java.math.*;


import static java.lang.Math.*;
import static java.util.Arrays.*;
import static java.util.Collections.*;


public class Main{ 


    static long mod=1000000007;
     static int dx[]={1,-1,0,0};
      static int dy[]={0,0,1,-1};
    // static int dx[]={1,-1,0,0,1,1,-1,-1};
    // static int dy[]={0,0,1,-1,1,-1,1,-1}; 

public  static void main(String[] args)   throws Exception, IOException{

    
    Reader sc = new Reader(System.in);
    PrintWriter out=new PrintWriter(System.out);

//  int n=sc.nextInt();  
  int n=sc.nextInt(), m=sc.nextInt();  
   int d[] = new int[100];
   for( int i=0; i<m; i++ ){
    int a=sc.nextInt();
    int b=sc.nextInt();
    d[a]++; d[b]++;
   }
   for( int i=1; i<=n; i++ ){
    out.println(d[i]);
   }

    // out.println();
    out.flush();
}

static void db(Object... os){

    System.err.println(Arrays.deepToString(os));

}

static boolean validpos(int x,int y,int r, int c){
    
    return x<r && 0<=x && y<c && 0<=y;
    
}
 
static boolean bit(long x,int k){
    // weather k-th bit (from right) be one or zero
    return  ( 0 < ( (x>>k) & 1 )  )  ? true:false;
}

}

class XY {
    int x,y,d;
    XY(int x, int y, int d) {
        this.x=x;
        this.y=y;
        this.d=d;
    } 
}

class P implements Comparable<P>{
    int x,y;
    P(int x, int y) {
        this.x=x;
        this.y=y;
    } 
      
    public int compareTo(P p){
        return x - p.x;
    } 
}

class Reader
{ 
    private BufferedReader x;
    private StringTokenizer st;
    
    public Reader(InputStream in)
    {
        x = new BufferedReader(new InputStreamReader(in));
        st = null;
    }
    public String nextString() throws IOException
    {
        while( st==null || !st.hasMoreTokens() )
            st = new StringTokenizer(x.readLine());
        return st.nextToken();
    }
    public int nextInt() throws IOException
    {
        return Integer.parseInt(nextString());
    }
    public long nextLong() throws IOException
    {
        return Long.parseLong(nextString());
    }
    public double nextDouble() throws IOException
    {
        return Double.parseDouble(nextString());
    }
}

