애완 트리

아직 제출이 없습니다시간 제한8초메모리 제한1024 MB

문제

종영이는 애완 트리를 키우고 있다. 이 트리는 NN개의 정점이 있으며 ii번째 간선은 두 정점 u_iu\_iv_iv\_i를 잇는다.

요즘 트리에게도 사춘기가 와서, 변덕이 심해 간선들의 길이가 매일 바뀐다. ii번째 간선의 길이는 \left\[L\_i, R\_i\right] 범위의 자연수의 값들 중 하나를 가질 수 있다.

트리의 변덕에 짜증이 난 종영이는 참을성이 부족해 트리를 팔아버리기로 했다. 트리는 지름이 SS 이상 EE 이하이면 크기가 적절한 좋은 트리라 생각되어 비싸게 취급된다. 트리의 지름은 트리 상에서 임의의 두 정점 사이의 거리 중 최댓값을 뜻한다.

간선들의 가능한 길이들의 조합은 총 _i=1N1(R_iL_i+1)\prod\_{i=1}^{N-1} \left(R\_i-L\_i+1\right)가지임을 알 수 있다. 종영이가 트리를 비싸게 팔아치우는 것을 도와주기 위해 가능한 모든 조합에 대해 트리의 지름이 SS 이상 EE 이하인 경우의 수를 구하여라.

입력

첫 줄에 NN, SS, EE가 주어진다. (2N4002 \leq N \leq 400, 1SE1091 \leq S \leq E \leq 10^9)

그 후 N1N-1개의 줄에 걸쳐 트리의 간선들의 정보가 주어진다. 정보는 u_iu\_i, v_iv\_i, L_iL\_i, R_iR\_i 순서로 주어진다. (1u_i1 \leq u\_i, v_iNv\_i \leq N, 1L_iR_i4001 \leq L\_i \leq R\_i \leq 400)

출력

트리의 지름이 SS 이상 EE 이하인 경우의 수를 109+710^9+7로 나눈 나머지를 출력한다.