import java.util.*;

public class Antti {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int w = input.nextInt();
        int[] next = new int[n];
        int[] cap = new int[n];
        int[] cur = new int[n];
        for (int i = 0; i < n; i++) {
            next[i] = input.nextInt()-1;
            cap[i] = input.nextInt();
            cur[i] = input.nextInt();
        }
        int r = w;
        for (int i = 0; i < n; i++) {
            int d = i;
            int u = 0;
            int v = 0;
            while (d != -1) {
                if (cur[d]+v < cap[d]) {
                    u += cap[d]-cur[d];
                    v += cap[d]-cur[d];
                }
                v += cur[d];
                d = next[d];
            }
            if (v < w) u += w-v;
            r = Math.min(r,u);
        }
        System.out.println(r);
    }
}
