#include<bits/stdc++.h>
using namespace std;
vector<vector<bool> > v;
vector<bool> vis,vis1;
queue <int> q;
int n,m,x,y;
void bfs(){
cout<<1;
q.push(1);
vis1[1]=1;
while(!q.empty()){
for(int i=1;i<=n;i++){
if(v[q.front()][i] && !vis1[i]){
vis1[i]=1;
cout<<"-"<<i;
q.push(i);
}
}
q.pop();
}
}
void dfs(int st){
if(st!=1) cout<<"-"<<st;
for(int i=1;i<=n;i++){
if(!vis[i] && v[st][i]){
vis[i]=1;
dfs(i);
}
}
}
int main(){
cin>>n>>m;
v.resize(n+1,vector<bool>(n+1,0));
vis.resize(n+1,0);
vis1.resize(n+1,0);
for(int i=1;i<=m;i++){
cin>>x>>y;
v[x][y]=v[y][x]=1;
}
vis[1]=1;
cout<<"1";
dfs(1);
for(int i=1;i<=n;i++){
if(vis[i]==0) cout<<"-"<<i;
}
cout<<endl;
bfs();
for(int i=1;i<=n;i++){
if(vis1[i]==0) cout<<"-"<<i;
}
return 0;
}
//今天好开心
//有一个好朋友加我了
//以后做题不无聊了