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