#include <iostream>
using namespace std;
int cnt=1;
struct Edge{
int e;
int w;
int next;
}edge[10010];
int head[10010]={0};
void add(int s,int e,int w){
edge[cnt].e=e;
edge[cnt].w=w;
edge[cnt].next=head[s];//倒着存储
head[s]=cnt;
cnt++;
}
int main()
{
ios::sync_with_stdio(false);
int n;
cin>>n;
int i;
int s,e,w;
for(i=0;i<n;i++){
cin>>s>>e>>w;
add(s,e,w);
}
int h;
cin>>h;
for(i=head[h];i!=0;i=edge[i].next)//遍历以h为起点的边
cout<<h<<"->"<<edge[i].e<<" "<<edge[i].w<<endl;
return 0;
}