Problem description


Drzewo
(C)
Limit pamięci: 1024 MB
Limit czasu: 2.00 s

Dane jest drzewo nieskierowane o n wierzchołkach ponumerowanych od 1 do n. Każda z n − 1 krawędzi drzewa ma przypisaną dodatnią wagę całkowitą.

Rozważamy wszystkie pary różnych wierzchołków (x,y) (x<y). Dla każdej takiej pary definiujemy ścieżkę między x i y jako unikalną ścieżkę w drzewie. Niech l oznacza liczbę krawędzi na tej ścieżce (długość ścieżki), a w największą wagę spośród wszystkich krawędzi na tej ścieżce.

Para (x,y) jest dobra, jeśli zachodzi nierówność: w − l ≥ k

Oblicz, ile jest dobrych par (x,y).

Wejście

Pierwsza linia wejścia zawiera dwie liczby całkowite: n liczba wierzchołków drzewa, k współczynnik definiujący, czy para jest dobra.
Kolejnych n − 1 linii opisuje krawędzie drzewa.
Każda z nich zawiera trzy liczby całkowite:
u, v wierzchołki połączone krawędzią, w waga tej krawędzi.

Wyjście

Wypisz jedną liczbę całkowitą — liczbę dobrych par (x,y).

Ograniczenia

  • 1 ≤ n, k ≤ 100 000
  • 1 ≤ u, v ≤ n, u ≠ v
  • 1 ≤ w ≤ 100 000

Dane wejściowe tworzą spójne drzewo.

Przykład

Wejście Wyjście Wyjaśnienie
5 3
1 2 5
2 3 1
3 4 3
4 5 3

2

Pary dla których zachodzi warunek to {1, 2} i {1, 3}.

Wejście Wyjście
5 2
1 2 4
3 1 1
2 4 4
2 5 3
7