아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

통행세

시간 제한2초메모리 제한256 MB

요약
도시 n개가 트리를 이루고 각 도로에 통행료 범위 [l, r]이 주어질 때, 각 도로를 지나는 최단 경로 수를 가중치로 한 총수입이 정확히 m이 되는 통행료 배정의 수를 1e9+7로 나눈 나머지를 구한다.
난이도

어려움10점 중 8점

유형
트리, 조합론, 동적 계획법, 수학
정답자
아직 제출이 없습니다

문제

바이트랜디아는 nn개의 도시로 이루어져 있고, 이 도시들은 n−1n - 1개의 양방향 도로로 연결되어 있다. 어떤 두 도시 사이에도 도로를 따라 가는 경로가 존재한다. 바이트랜디아의 대통령은 선거 공약을 모두 이행하는 데 필요한 돈이 정확히 mm바이트랜디아 화폐 단위만큼 부족하다. 필요한 금액을 모으기 위해 대통령은 도로 통행세를 도입하기로 했다.

특별 위원회의 조사 후, 각 도로마다 바이트랜디아 주민들이 그 도로를 이용하기 위해 지불할 의사가 있는 최소 금액과 최대 금액이 정해졌다. 설문 조사 결과, 올해 바이트랜디아의 각 도시에서 다른 모든 도시로 정확히 한 명씩 여행할 예정이라는 것도 밝혀졌다.

한 도시에서 다른 도시로 가는 주민은 항상 최단 경로를 선택해 그 경로로 이동한다. 도로를 지날 때 주민은 대통령이 정한 세금을 낸다.

바이트랜디아 대통령은 도로 통행세를 정해 총 수입이 정확히 mm이 되게 하는 방법이 몇 가지인지 궁금해한다. 어떤 도로에서 두 방법의 통행세가 다르면 두 방법은 다른 것으로 본다. 답을 109+710^9 + 7로 나눈 나머지를 출력하라.

입력

첫째 줄에는 두 정수 nn과 mm이 주어진다 (1≤n,m≤5⋅1051 \le n, m \le 5 \cdot 10^5). nn은 바이트랜디아의 도시 수, mm은 필요한 금액이다. 다음 n−1n - 1개 줄에는 각각 네 수 aia_i, bib_i, lil_i, rir_i가 주어진다 (1≤ai,bi≤n1 \le a_i, b_i \le n, 1≤li≤ri≤5⋅1051 \le l_i \le r_i \le 5 \cdot 10^5). 이는 도시 aia_i와 bib_i 사이에 도로가 있고, 그 도로에 lil_i 이상 rir_i 이하의 금액으로 통행세를 부과할 수 있다는 뜻이다.

출력

문제의 답을 109+710^9 + 7로 나눈 나머지를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    6 152
    1 2 3 4
    2 3 1 2
    2 4 3 5
    4 5 1 1
    4 6 2 2
    
    예상 출력
    2