#include<bits/stdc++.h>
using namespace std;
void dfs(int i);
void scanit(int &i)
{
i=0;
register int c=getchar();
for(;c>'9'||c<'0';c=getchar());
for(;c>='0'&&c<='9';c=getchar())
i=(i<<1)+(i<<3)+c-'0';
}
vector<vector<int> > V;
vector<int> vis;
vector<int> ans;
int main(void)
{
int t,i,m,n,u,v;
scanit(t);
while(t--)
{
scanit(n);
scanit(m);
V.resize(n+1,vector<int>(0));
vis.resize(n+1);
ans.resize(n,0);
for(i=0;i<m;i++)
{
scanit(u);
scanit(v);
V[u].push_back(v);
V[v].push_back(u);
}
//for(i=0;i)
for(i=1;i<n;i++)
{
if(vis[i]==0)
{
if(i!=1)
ans[0]++;
dfs(i);
}
}
for(i=1;i<n;i++)
ans[i]+=ans[i-1];
for(i=0;i<n;i++)
printf("%d ",ans[i]);
printf("\n");
vis.clear();
ans.clear();
V.clear();
}
}
void dfs(int i)
{
stack<int> s;
s.push(i);
// cout<<i<<' '<<S[i]<<' '<<V[i].size()<<endl;
while(s.empty()==0)
{
int j=s.top();
//cout<<j<<' '<<V[j].size()<<' '<<V[k].size()<<endl;
s.pop();
vis[j]=1;
for(vector<int>::iterator it=V[j].begin();it!=V[j].end();it++)
{
if(vis[*it]==0)
{
//cout<<j<<' '<<*it<<' '<<V[j].size()<<' '<<V[*it].size()<<endl;
if(V[*it].size()>V[j].size())
ans[V[j].size()]++;
else
ans[V[(*it)].size()]++;
s.push(*it);
}
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgZGZzKGludCBpKTsKdm9pZCBzY2FuaXQoaW50ICZpKQp7CiAgICBpPTA7CiAgICByZWdpc3RlciBpbnQgYz1nZXRjaGFyKCk7CiAgICBmb3IoO2M+JzknfHxjPCcwJztjPWdldGNoYXIoKSk7CiAgICBmb3IoO2M+PScwJyYmYzw9JzknO2M9Z2V0Y2hhcigpKQogICAgICAgIGk9KGk8PDEpKyhpPDwzKStjLScwJzsKfQoKdmVjdG9yPHZlY3RvcjxpbnQ+ID4gVjsKdmVjdG9yPGludD4gdmlzOwp2ZWN0b3I8aW50PiBhbnM7CgppbnQgbWFpbih2b2lkKQp7CiAgICBpbnQgdCxpLG0sbix1LHY7CiAgICBzY2FuaXQodCk7CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgc2Nhbml0KG4pOwogICAgICAgIHNjYW5pdChtKTsKICAgICAgICBWLnJlc2l6ZShuKzEsdmVjdG9yPGludD4oMCkpOwogICAgICAgIHZpcy5yZXNpemUobisxKTsKICAgICAgICBhbnMucmVzaXplKG4sMCk7CiAgICAgICAgZm9yKGk9MDtpPG07aSsrKQogICAgICAgIHsKICAgICAgICAgICAgc2Nhbml0KHUpOwogICAgICAgICAgICBzY2FuaXQodik7CiAgICAgICAgICAgIFZbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgICAgICBWW3ZdLnB1c2hfYmFjayh1KTsKICAgICAgICB9CiAgICAgICAgLy9mb3IoaT0wO2kpCiAgICAgICAgZm9yKGk9MTtpPG47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgaWYodmlzW2ldPT0wKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihpIT0xKQogICAgICAgICAgICAgICAgICAgIGFuc1swXSsrOwogICAgICAgICAgICAgICAgZGZzKGkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvcihpPTE7aTxuO2krKykKICAgICAgICAgICAgYW5zW2ldKz1hbnNbaS0xXTsKICAgICAgICBmb3IoaT0wO2k8bjtpKyspCiAgICAgICAgICAgIHByaW50ZigiJWQgIixhbnNbaV0pOwogICAgICAgIHByaW50ZigiXG4iKTsKICAgICAgICB2aXMuY2xlYXIoKTsKICAgICAgICBhbnMuY2xlYXIoKTsKICAgICAgICBWLmNsZWFyKCk7CiAgICB9Cn0KCnZvaWQgZGZzKGludCBpKQp7CiAgICBzdGFjazxpbnQ+IHM7CiAgICBzLnB1c2goaSk7CiAgIC8vIGNvdXQ8PGk8PCcgJzw8U1tpXTw8JyAnPDxWW2ldLnNpemUoKTw8ZW5kbDsKICAgIHdoaWxlKHMuZW1wdHkoKT09MCkKICAgIHsKICAgICAgICBpbnQgaj1zLnRvcCgpOwogICAgICAgIC8vY291dDw8ajw8JyAnPDxWW2pdLnNpemUoKTw8JyAnPDxWW2tdLnNpemUoKTw8ZW5kbDsKICAgICAgICBzLnBvcCgpOwogICAgICAgIHZpc1tqXT0xOwogICAgICAgIGZvcih2ZWN0b3I8aW50Pjo6aXRlcmF0b3IgaXQ9VltqXS5iZWdpbigpO2l0IT1WW2pdLmVuZCgpO2l0KyspCiAgICAgICAgewogICAgICAgICAgICBpZih2aXNbKml0XT09MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy9jb3V0PDxqPDwnICc8PCppdDw8JyAnPDxWW2pdLnNpemUoKTw8JyAnPDxWWyppdF0uc2l6ZSgpPDxlbmRsOwogICAgICAgICAgICAgICAgaWYoVlsqaXRdLnNpemUoKT5WW2pdLnNpemUoKSkKICAgICAgICAgICAgICAgICAgICBhbnNbVltqXS5zaXplKCldKys7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgYW5zW1ZbKCppdCldLnNpemUoKV0rKzsKICAgICAgICAgICAgICAgIHMucHVzaCgqaXQpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==