#include <bits/stdc++.h>
using namespace std;
const int N = 3333;
int n, m;
int a[N][N], ans[N];
vector <int> adj[N];
void bfs(int r) {
queue <int> q;
q.push(r);
while (!q.empty()) {
int u = q.front(); q.pop();
for (int v : adj[u]) if (v != r && !a[r][v]) {
a[r][v] = a[r][u] + 1;
//cerr << r << " " << v << " " << a[r][v] << "\n";
q.push(v);
}
}
}
int main() {
// freopen("input.in", "r", stdin);
// freopen("output.out", "w", stdout);
scanf("%d%d", &n, &m);
while (m--) {
int u, v; scanf("%d%d", &u, &v);
adj[u].push_back(v);
adj[v].push_back(u);
}
//bfs(2);
for (int i = 1; i <= n; ++i) bfs(i);
for (int i = 1; i <= n; ++i) for (int j = i + 1; j <= n; ++j) if (a[i][j] != 0) {
int k = log2(a[i][j]);
k += 1ll << k != a[i][j]; //cerr << i << " " << j << " " << a[i][j] << " " << k << "\n";
ans[k]++;
}
for (int i = 1; i <= n; ++i) {
printf("%d ", ans[i]);
if (ans[i] == 0) break;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKY29uc3QgaW50IE4gPSAzMzMzOwogCmludCBuLCBtOwppbnQgYVtOXVtOXSwgYW5zW05dOwp2ZWN0b3IgPGludD4gYWRqW05dOwogCnZvaWQgYmZzKGludCByKSB7CiAgICBxdWV1ZSA8aW50PiBxOwogICAgcS5wdXNoKHIpOwogICAgd2hpbGUgKCFxLmVtcHR5KCkpIHsKICAgICAgICBpbnQgdSA9IHEuZnJvbnQoKTsgcS5wb3AoKTsKICAgICAgICBmb3IgKGludCB2IDogYWRqW3VdKSBpZiAodiAhPSByICYmICFhW3JdW3ZdKSB7CiAgICAgICAgICAgIGFbcl1bdl0gPSBhW3JdW3VdICsgMTsKICAgICAgICAgICAgLy9jZXJyIDw8IHIgPDwgIiAiIDw8IHYgPDwgIiAiIDw8IGFbcl1bdl0gPDwgIlxuIjsKICAgICAgICAgICAgcS5wdXNoKHYpOwogICAgICAgIH0KICAgIH0KfQogCmludCBtYWluKCkgewovLyAgICBmcmVvcGVuKCJpbnB1dC5pbiIsICJyIiwgc3RkaW4pOwogIC8vICBmcmVvcGVuKCJvdXRwdXQub3V0IiwgInciLCBzdGRvdXQpOwogCiAgICBzY2FuZigiJWQlZCIsICZuLCAmbSk7CiAgICB3aGlsZSAobS0tKSB7CiAgICAgICAgaW50IHUsIHY7IHNjYW5mKCIlZCVkIiwgJnUsICZ2KTsKICAgICAgICBhZGpbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgIGFkalt2XS5wdXNoX2JhY2sodSk7CiAgICB9CiAKICAgIC8vYmZzKDIpOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSBiZnMoaSk7CiAKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgZm9yIChpbnQgaiA9IGkgKyAxOyBqIDw9IG47ICsraikgaWYgKGFbaV1bal0gIT0gMCkgewogICAgICAgIGludCBrID0gbG9nMihhW2ldW2pdKTsKICAgICAgICBrICs9IDFsbCA8PCBrICE9IGFbaV1bal07IC8vY2VyciA8PCBpIDw8ICIgIiA8PCBqIDw8ICIgIiA8PCBhW2ldW2pdIDw8ICIgIiA8PCBrIDw8ICJcbiI7CiAgICAgICAgYW5zW2tdKys7CiAgICB9CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgICAgICBwcmludGYoIiVkICIsIGFuc1tpXSk7CiAgICAgICAgaWYgKGFuc1tpXSA9PSAwKSBicmVhazsKICAgIH0KIAogICAgcmV0dXJuIDA7Cn0KIA==