왕국 보호
시간 제한1초메모리 제한2048 MB
간선마다 위험 지점이 놓인 나무 모양 도로망에서 길이가 w 이하인 최단 경로 하나가 덮을 수 있는 위험 지점의 최대 개수를 구합니다.
문제
CPIC (Committee for Public Infrastructure Conservation)의 왕국에는 1부터 n까지 번호가 매겨진 마을 n개가 있으며, 마을들은 n - 1개의 도로로 연결되어 트리 구조를 이룹니다. 각 도로는 두 마을을 잇고 양의 길이를 가집니다. i번째 도로는 마을 i + 1과 마을 p_i ()를 잇고, 길이는 l_i입니다. 험한 지형과 과거 사고 때문에 도로 위의 일부 지점은 위험 지점으로 지정되어 있습니다. i번째 도로에는 마을 p_i에서 정수 거리 x_{i,1}, x_{i,2}, \dots, x_{i,k_i}만큼 떨어진 위치에 위험 지점 k_i개가 있으며, 를 만족합니다. CPIC 안전위원회는 마을을 포함해 도로 위의 임의의 두 지점을 골라 그 사이의 최단 경로를 확보함으로써 여행자를 보호하려 합니다. 확보한 경로는 끝점을 포함해 그 위에 있는 모든 위험 지점을 덮으며, 경로 길이는 주어진 길이 w를 넘을 수 없습니다. 도로망, 위험 지점의 위치, 그리고 w가 주어질 때, 두 지점을 골라 길이가 w 이하인 최단 경로를 확보하면서 덮을 수 있는 위험 지점의 최대 개수를 구하십시오.
입력
첫 줄에는 두 정수 n과 w (, )가 주어집니다. n은 마을 수이고, w는 확보할 경로의 최대 길이입니다. 이어지는 n - 1개의 줄 중 i번째 줄은 세 정수 p_i, l_i, k_i (, , )로 시작합니다. p_i는 마을 i + 1과 연결된 마을, l_i는 도로 길이, k_i는 도로 위 위험 지점의 수입니다. k_i > 0이면 같은 줄에 이어서 정수 k_i개 x_{i,1}, \dots, x_{i,k_i} ()가 주어지며, 각 값은 마을 p_i에서 해당 위험 지점까지의 거리입니다. 모든 도로의 위험 지점 수 합 k_1 + \cdots + k_{n-1}은 10^6을 넘지 않습니다.
출력
한 줄만 출력합니다. 이 줄에는 도로 위 임의의 두 지점 사이에서, 길이가 w 이하인 최단 경로로 덮을 수 있는 위험 지점 개수의 최댓값을 적습니다.