Janjetina
시간 제한1.5초메모리 제한512 MB
트리에서 두 도시 사이 경로의 최대 양고기 양에서 경로 길이를 뺀 값이 k 이상인 도시 쌍의 수를 구합니다.
문제
크로아티아 전역의 식당이 봉쇄 조치로 문을 닫자 Malnar 씨는 처음에 크게 낙담했다. 그러나 슬퍼해 봐야 아무 소용이 없다는 것을 곧 깨달았고, 식당이 다시 문을 열면 크로아티아 곳곳을 여행하며 식당들이 내놓는 최고의 양고기를 직접 먹어 보기로 했다.
Malnar 씨는 방문할 수 있는 도시 개를 알고 있으며, 도시에는 부터 까지의 정수 번호가 붙어 있다. 또한 이 도시들을 잇는 양방향 도로 개를 알고 있는데, 이 도로들로 어떤 두 도시든 오갈 수 있다.
각 도로에는 양고기를 파는 식당이 하나씩 있다. Malnar 씨는 각 식당에서 주문할 수 있는 양고기의 양(킬로그램)을 알고 있다.
Malnar 씨는 서로 다른 두 도시 , 를 고른 뒤, 도로를 가장 적게 지나는 최단 경로로 에서 까지 이동한다. 그는 경로 위의 식당 중 주문할 수 있는 양고기가 가장 많은 한 곳에서만 멈추며(그런 식당이 여럿이면 그중 아무 곳이나 고른다), 주문한 양고기를 전부 먹는다.
경로의 길이는 지나는 도로의 수이다. 길이 인 경로에서 킬로그램의 양고기를 먹을 때, 이면 그 경로를 만족스러운 경로라고 한다.
Malnar 씨는 최단 경로가 만족스러운 서로 다른 도시의 순서쌍 가 몇 개인지 알고 싶어 한다. 이 값을 계산해 달라.
입력
첫째 줄에 도시의 수 과 만족 기준값 가 주어진다 ().
이어서 개의 줄에 세 정수 , , 가 주어진다 (, , ). 이는 와 를 잇는 도로가 있고, 그 도로 위에 킬로그램의 양고기를 주문할 수 있는 식당이 있다는 뜻이다.
출력
최단 경로가 만족스러운 서로 다른 도시의 순서쌍 의 개수를 출력한다.
힌트
세 번째 예제 설명:

순서쌍은 (1, 3), (3, 1), (1, 5), (5, 1), (3, 5), (5, 3), (4, 5), (5, 4)이다.