함수와 최소 스패닝 트리

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

문제

11부터 VV까지 번호가 붙은 정점이 VV개, 간선이 EE개인 단순 연결그래프가 주어진다.

각 간선의 가중치는 시간 tt에 따라 변화하는 이차함수 at2+b_it+c_iat^2+b\_it+c\_i 꼴이다. 모든 간선에 대해 aa는 동일하다.

이때 함수 f(t)f(t)를 시간 tt에서의 최소 스패닝 트리의 가중치의 합으로 정의하자.

정수 t_1t\_1, t_2t\_2가 주어지면 _t_1t_2f(t)dt\int\_{t\_1}^{t\_2}f(t)dt의 값을 구하시오.

최소 스패닝 트리란, 주어진 그래프의 모든 정점들을 연결하는 부분 그래프 중에서 그 가중치의 합이 최소인 트리이다.

입력

첫 번째 줄에 정수 VV, EE, aa가 공백으로 구분되어 주어진다. (1V100;(1 \le V \le 100; 1E250;1 \le E \le 250; 1,000a1,000;-1\\,000 \le a \le 1\\,000; a0)a \neq 0)

다음 EE개의 줄에 간선의 정보를 나타내는 네 정수 XX, YY, b_ib\_i, c_ic\_i가 공백으로 구분되어 주어진다. (1X,YV;(1 \le X, Y \le V; 1,000b_i,c_i1,000)-1\\,000 \le b\_i, c\_i \le 1\\,000)

이는 XX번 정점과 YY번 정점을 잇는 간선의 가중치가 at2+b_it+c_iat^2+b\_it+c\_i라는 뜻이다.

다음 줄에 시간을 나타내는 정수 t_1t\_1t_2t\_2가 공백으로 구분되어 주어진다. (1,000t_1t_21,000)(-1\\,000 \le t\_1 \le t\_2 \le 1\\,000)

출력

_t_1t_2f(t)dt\int\_{t\_1}^{t\_2}f(t)dt의 값이 정수 mm, 양의 정수 nn에 대하여 기약분수 mn\frac{m}{n}일 때, m×n1mod(109+7)m\times n^{-1}\bmod (10^9+7)을 출력한다. n1n^{-1}nn의 모듈러 곱셈에 대한 역원이다.

답이 109+710^9+7의 배수가 아닌 nn에 대해 위와 같은 꼴로 표현됨을 증명할 수 있다.

힌트

필요하다면 (ab1)+(cd1)(ad+bc)×(bd)1(mod109+7)(ab^{-1})+(cd^{-1}) \equiv (ad+bc)\times(bd)^{-1} \pmod {10^9+7}임을 이용할 수 있다.