#include<stdio.h>
#define max 10
int graph[max][max];
int visited[max];
int n;
void dfs(int v){
    visited[v]=1;
    printf("%d ",v);
    for(int i=0;i<n;i++){
        if(graph[v][i]!=0 && !visited[i]){
            dfs(i);
        }
    }
}
int main(){
    int m;
    scanf("%d %d",&n,&m);
    if(n<0){
        printf("Invalid input");
        return 0;
    }
    for(int i=0;i<n;i++){
        visited[i]=0;
    for(int j=0;j<n;j++){
        graph[i][j]=0;
    }
}
int v,e,;
for(int i=0;i<m;i++){
scanf("%d %d",&v,&e);
graph[v][e]=1;
graph[e][v]=1;
    }
int start;
scanf("%d ",&start);
dfs(start);
}