#include<queue>
#include<iostream>
using namespace std;
bool isvisited[100];
vector< vector<int> > adj(100);
void bfs(int source)
{
queue<int> q;
int s=source;
q.push(s);
while(!q.empty())
{
cout<<"size"<<adj[s].size()<<" ";
for(int i=0;i<adj[s].size();i++)
{
if(!isvisited[adj[s][i]])
{
cout<<adj[s][i]<<" ";
isvisited[adj[s][i]]=1;
q.push(adj[s][i]);
}
}
q.pop();
s=q.front();
}
}
int main()
{
int n;cin>>n;
int m;cin>>m;
int x;int y;
for(int i=0;i<m;i++)
{
cin>>x;
cin>>y;
adj[x].push_back(y);
adj[y].push_back(x);
}
int source;
cout<<"enter source node";
cin>>source;
bfs(source);
return 0;
}
I2luY2x1ZGU8cXVldWU+CiNpbmNsdWRlPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpib29sIGlzdmlzaXRlZFsxMDBdOwp2ZWN0b3I8IHZlY3RvcjxpbnQ+ID4gYWRqKDEwMCk7CnZvaWQgYmZzKGludCBzb3VyY2UpCnsKcXVldWU8aW50PiBxOwppbnQgcz1zb3VyY2U7CnEucHVzaChzKTsKd2hpbGUoIXEuZW1wdHkoKSkKewpjb3V0PDwic2l6ZSI8PGFkaltzXS5zaXplKCk8PCIgIjsKZm9yKGludCBpPTA7aTxhZGpbc10uc2l6ZSgpO2krKykKewogICAgaWYoIWlzdmlzaXRlZFthZGpbc11baV1dKQogICAgewogICAgICAgIGNvdXQ8PGFkaltzXVtpXTw8IiAiOwogICAgICAgIGlzdmlzaXRlZFthZGpbc11baV1dPTE7CiAgICAgICAgcS5wdXNoKGFkaltzXVtpXSk7CiAgICB9Cgp9CnEucG9wKCk7CnM9cS5mcm9udCgpOwp9Cgp9CmludCBtYWluKCkKewppbnQgbjtjaW4+Pm47CmludCBtO2Npbj4+bTsKaW50IHg7aW50IHk7CmZvcihpbnQgaT0wO2k8bTtpKyspCnsKY2luPj54OwpjaW4+Pnk7CmFkalt4XS5wdXNoX2JhY2soeSk7CmFkalt5XS5wdXNoX2JhY2soeCk7Cn0KaW50IHNvdXJjZTsKY291dDw8ImVudGVyIHNvdXJjZSBub2RlIjsKY2luPj5zb3VyY2U7CmJmcyhzb3VyY2UpOwoKcmV0dXJuIDA7CgoKfQo=