#include<cstdio> #include<map> #include<algorithm> usingnamespace std; map<int,int> data,nextAdd; int temp[100010]={}; intmain(){ int first,n,k,a; scanf("%d%d%d",&first,&n,&k); for (int i = 0; i < n; ++i) { scanf("%d",&a); scanf("%d%d",&data[a],&nextAdd[a]); } int index=0; for (int i = first; i != -1; i=nextAdd[i]) { temp[index++]=i; } for (int i = 0; i < (index-index%k); i+=k) { reverse(temp+i,temp+i+k); } for (int i = 0; i < index-1; ++i) { printf("%05d %d %05d\n", temp[i],data[temp[i]],temp[i+1]); } printf("%05d %d -1\n", temp[index-1],data[temp[index-1]]); return0; }