#include<bits/stdc++.h>
using namespace std;
#define Mod 10000000
#define MIN 0.0000001
#define mem(a,b) memset(a,b,sizeof(a))
int vis[11];
int mp[11][11];
void dfs(int n,int v)
{
for(int i=0;i<v;i++)
{
if(!vis[i]&&mp[n][i])
{
vis[i]=1;
cout<<i<<" ";
dfs(i,v);
}
}
return ;
}
void bfs(int n,int v)
{
queue <int>q;
vis[n]=true;
q.push(n);
while(!q.empty())
{
int now=q.front();
q.pop();
for(int i=0;i<v;i++)
{
if(!vis[i]&&mp[now][i])
{
cout<<i<<" ";
vis[i]=1;
q.push(i);
}
}
}
return ;
}
int main()
{
int n,m;
cin>>n>>m;
for(int i=0;i<m;i++)
{
int a,b;
cin>>a>>b;
mp[a][b]=mp[b][a]=1;
}
mem(vis,0);
for(int i=0;i<n;i++)
{
if(!vis[i])
{
vis[i]=1;
cout<<"{ "<<i<<" ";
dfs(i,n);
cout<<"}"<<endl;
}
}
mem(vis,0);
for(int i=0;i<n;i++)
{
if(!vis[i])
{
cout<<"{ "<<i<<" ";
bfs(i,n);
cout<<"}"<<endl;
}
}
return 0;
}