#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e4 + 5;
int n,m,rask[N],indegree[N],line[N];
int head[N],nexts[N],to[N],cnt=1;
void add(int x,int y){
nexts[cnt]=head[x];
to[cnt]=y;
head[x]=cnt++;
}
void tuopu(){
int q[N],l=0,r=0,ans=0;
for(int i=1;i<=n;i++){
if(indegree[i]==0){
q[r++]=i;
line[i]=rask[i];
}
}
while(l<r){
int cur=q[l++];
if(head[cur]==0) ans=max(ans,line[cur]);
for(int i=head[cur];i>0;i=nexts[i]){
line[to[i]]=max(line[to[i]],line[cur]+rask[to[i]]);
if(--indegree[to[i]]==0){
q[r++]=to[i];
}
}
}
cout<<ans;
}
int main(){
cin>>n;
int num,x;
for(int i=1;i<=n;i++){
cin>>num;
cin>>rask[num];
cin>>x;
while(x!=0){
add(x,num);
indegree[num]++;
cin>>x;
}
}
tuopu();
return 0;
}