#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct point{
int target;
int distance;
};
int main(){
int V;
cin >> V;
vector<point> v[V+1];
for(int i = 0; i < V; i++){
int origin, target, distance;
cin >> origin;
while(1){
cin >> target;
if(target == -1) break;
cin >> distance;
point p = { target, distance };
v[origin].push_back(p);
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBwb2ludHsKCWludCB0YXJnZXQ7CglpbnQgZGlzdGFuY2U7Cn07CmludCBtYWluKCl7CglpbnQgVjsKCWNpbiA+PiBWOwoJdmVjdG9yPHBvaW50PiB2W1YrMV07Cglmb3IoaW50IGkgPSAwOyBpIDwgVjsgaSsrKXsKCQlpbnQgb3JpZ2luLCB0YXJnZXQsIGRpc3RhbmNlOwoJCWNpbiA+PiBvcmlnaW47CgkJd2hpbGUoMSl7CgkJCWNpbiA+PiB0YXJnZXQ7CgkJCWlmKHRhcmdldCA9PSAtMSkgYnJlYWs7CgkJCWNpbiA+PiBkaXN0YW5jZTsKCQkJcG9pbnQgcCA9IHsgdGFyZ2V0LCBkaXN0YW5jZSB9OwoJCQl2W29yaWdpbl0ucHVzaF9iYWNrKHApOwoJCX0KCX0KCQp9