import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main
(String[] args
) { Scanner scanner
= new Scanner
(System.
in);
int n, m;
n = scanner.nextInt(); // nodes
m = scanner.nextInt();// edges
for (int i = 0; i < n; i++) {
g[i] = new ArrayList<>();
}
for (int i = 1; i <= m; i++) {
// Taking input for an undirected graph.
int x, y;
x = scanner.nextInt();
y = scanner.nextInt();
g[x].add(y);
g[y].add(x);
}
for (int i = 0; i < n; i++) {
int c = g[i].size();
System.
out.
println(i
+ " " + c
); }
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuU2Nhbm5lcjsKIApwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgU2Nhbm5lciBzY2FubmVyID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKIAogICAgICAgIGludCBuLCBtOwogICAgICAgIG4gPSBzY2FubmVyLm5leHRJbnQoKTsgLy8gbm9kZXMKICAgICAgICAKICAgICAgICBtID0gc2Nhbm5lci5uZXh0SW50KCk7Ly8gZWRnZXMKIAogICAgICAgIEFycmF5TGlzdDxJbnRlZ2VyPltdIGcgPSBuZXcgQXJyYXlMaXN0W25dOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIGdbaV0gPSBuZXcgQXJyYXlMaXN0PD4oKTsKICAgICAgICB9CiAKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBtOyBpKyspIHsKICAgICAgICAgICAgLy8gVGFraW5nIGlucHV0IGZvciBhbiB1bmRpcmVjdGVkIGdyYXBoLgogICAgICAgICAgICBpbnQgeCwgeTsKICAgICAgICAgICAgeCA9IHNjYW5uZXIubmV4dEludCgpOwogICAgICAgICAgICB5ID0gc2Nhbm5lci5uZXh0SW50KCk7CiAgICAgICAgICAgIGdbeF0uYWRkKHkpOwogICAgICAgICAgICBnW3ldLmFkZCh4KTsKICAgICAgICB9CiAKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBpbnQgYyA9IGdbaV0uc2l6ZSgpOwogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oaSArICIgIiArIGMpOwogICAgICAgIH0KICAgIH0KfQ==