#include<stdio.h>
#define MAX 10

int adj[MAX][MAX];
int visited[MAX];
int n;

int dfs(int start ,int n){
    visited[start]=1;
    printf("%d ",start);
    
    for(int i=0 ; i<n ;i++){
        if(adj[start][i] && !visited[i]){
         dfs(i,n);
        }
    }
}
int main(){
    int n,v;
    
    scanf("%d%d",&n,&v);
    
    for(int i=0 ; i<v ;i++){
        visited[i]=0;
        for(int j=0 ; j<v ;j++){
            adj[i][j]=0;
    }

}
     int u,v,w;
    for(int i=0 ; i<v ;i++){
        for(int j=0 ; j<v ; j++){
            scanf("%d%d%d",u,v,w);
            arr[u][v]=1;
            arr[v][u]=1;
        }
    }
    int start;
    scanf("%d",start);
    dfs(start,v);
    
    return 0;


}