211b0568467afdcbeec85cd28ece768e7c844db0a7ac7f56493e61fb14c8a1f9
// https://szkopul.edu.pl/problemset/problem/JkT6CwdepjCQnJ9c6CwxHolZ/site/?key=statement
// Zadanie Blokada
#include <bits/stdc++.h>
// #define GARY_DBG
#define GARY_LIB
#define int int64_t
constexpr int sizik = 100 * 1001;
#define ar std::array
typedef std::vector<std::vector<int>> _kra;
std::vector<int> kra[sizik];
int cnt = 0;
int disc[sizik], low[sizik];
int dp_sz[sizik];
std::bitset<sizik> ap;
int ans[sizik];
int n, m;
std::vector<int> components_left[sizik];
void DFS(int v, int p) {
int children = 0, sum_sz = 0;
disc[v] = low[v] = ++cnt;
dp_sz[v] = 1;
ap[v] = 0;
for (const auto& u : kra[v]) {
if (u == p) continue;
if (disc[u] != -1) {
low[v] = std::min(low[v], disc[u]);
} else {
children++;
DFS(u, v);
dp_sz[v] += dp_sz[u];
low[v] = std::min(low[v], low[u]);
if (low[u] >= disc[v]) {
components_left[v].push_back(dp_sz[u]);
sum_sz += dp_sz[u];
children++;
}
}
}
if (p == -1) {
if (children > 1) {
ap[v] = 1;
} else {
components_left[v].clear();
if (n > 1) components_left[v].push_back(n - 1);
ap[v] = 0;
}
} else {
if (!components_left[v].empty()) {
ap[v] = 1;
int upper_part = n - 1 - sum_sz;
if (upper_part > 0) {
components_left[v].push_back(upper_part);
}
} else {
if (n > 1) components_left[v].push_back(n - 1);
}
}
}
void solve() {
std::cin >> n >> m;
for (int i = 1; i <= m; i++) {
int a, b;
std::cin >> a >> b;
kra[a].push_back(b);
kra[b].push_back(a);
}
for (int i = 1; i <= n; i++) {
disc[i] = low[i] = -1;
}
DFS(1, -1);
for (int i = 1; i <= n; i++) {
ans[i] = n * (n - 1);
for (const auto& a : components_left[i]) {
ans[i] -= a * (a - 1);
}
}
for (int i = 1; i <= n; i++) {
std::cout << ans[i] << '\n';
}
}
int32_t main() {
#ifndef GARY_DBG
std::ios_base::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
#endif
int t = 1;
// std::cin >> t;
for (; t > 0; t--) {
solve();
}
return 0;
}