#include <bits/stdc++.h>
using namespace std;
int dfs(int node,int parent,int nodes,vector<vector<int>> &adj,vector<int> &temp){
int cnt=1;
for(auto it:adj[node]){
if(it!=parent){
cnt+=(dfs(it,node,nodes,adj,temp));
}
}
temp[node]=(nodes-cnt)*cnt+ (cnt-1)*(nodes-cnt+1) +nodes-1;
return cnt;
}
void solve(){
int n,m;
cin>>n>>m;
vector<vector<int>> adj(n+1);
for(int i=0;i<m;i++){
int u,v;
cin>>u>>v;
adj[u].push_back(v);
adj[v].push_back(u);
}
vector<int> temp(n+1);
dfs(1,-1,n,adj,temp);
for(int i=1;i<=n;i++) cout<<temp[i]<<" ";
cout<<endl;
}
int main() {
// your code goes here
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBkZnMoaW50IG5vZGUsaW50IHBhcmVudCxpbnQgbm9kZXMsdmVjdG9yPHZlY3RvcjxpbnQ+PiAmYWRqLHZlY3RvcjxpbnQ+ICZ0ZW1wKXsKICAgaW50IGNudD0xOwogICBmb3IoYXV0byBpdDphZGpbbm9kZV0pewogICAgICBpZihpdCE9cGFyZW50KXsKICAgICAgICAgY250Kz0oZGZzKGl0LG5vZGUsbm9kZXMsYWRqLHRlbXApKTsKICAgICAgfQogICB9CiAgIHRlbXBbbm9kZV09KG5vZGVzLWNudCkqY250KyAoY250LTEpKihub2Rlcy1jbnQrMSkgK25vZGVzLTE7CgogICByZXR1cm4gY250Owp9Cgp2b2lkIHNvbHZlKCl7CgogICBpbnQgbixtOwogICBjaW4+Pm4+Pm07CgogICB2ZWN0b3I8dmVjdG9yPGludD4+IGFkaihuKzEpOwogICBmb3IoaW50IGk9MDtpPG07aSsrKXsKICAgICAgaW50IHUsdjsKICAgICAgY2luPj51Pj52OwogICAgICBhZGpbdV0ucHVzaF9iYWNrKHYpOwogICAgICBhZGpbdl0ucHVzaF9iYWNrKHUpOwogICB9CgogICB2ZWN0b3I8aW50PiB0ZW1wKG4rMSk7CiAgIGRmcygxLC0xLG4sYWRqLHRlbXApOwogICBmb3IoaW50IGk9MTtpPD1uO2krKykgY291dDw8dGVtcFtpXTw8IiAiOwogICBjb3V0PDxlbmRsOwp9CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXNvbHZlKCk7CglyZXR1cm4gMDsKfQ==