#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define vi vector<ll>
#define vvi vector<vi>
#define pp pair<ll, ll>
#define vp vector<pp>
#define inf 1000000000
#define mod 1000000007
ll dfs(ll u, vi &A, vvi &edges){
ll sum = 0;
for(ll v : edges[u]){
ll x = dfs(v, A, edges);
sum += x;
}
if(sum + A[u] < 0){
return 0;
}
return sum + A[u];
}
int main(){
cin.tie(0);
ios_base::sync_with_stdio(false);
ll n, s;
cin >> n >> s;
vvi edges(n + 1);
vi A(n + 1, 0);
for(int i = 0; i < n; i++){
ll par;
cin >> A[i + 1] >> par;
edges[par].push_back(i + 1);
}
ll ans = dfs(0, A, edges);
cout << ans << '\n';
}