#include <iostream>
#include <algorithm>
using namespace std;
int N, first;
int val[100010], add[100010], res[100010];
bool cmp(int p1, int p2){
return val[p1] < val[p2];
}
int main(){
scanf("%d %d", &N, &first);
int temp;
for(int i = 0; i < N; i++){
scanf("%d", &temp);
scanf("%d %d", &val[temp], &add[temp]);
}
int count = 0;
while(first != -1){
res[count++] = first;
first = add[first];
}
if(count == 0){
printf("0 -1\n");
}else{
sort(res, res+count, cmp);
printf("%d %05d\n", count, res[0]);
for(int i = 0; i < count-1; i++){
printf("%05d %d %05d\n", res[i], val[res[i]], res[i+1]);
}
printf("%05d %d -1\n", res[count-1], val[res[count-1]]);
}
return 0;
}