거리의 기댓값

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

문제

NN개의 정점으로 이루어진 트리 T_NT\_{N}를 다음과 같은 방법으로 생성한다.

  • T_1T\_{1}은 1번 정점만으로 이루어진 트리다.
  • 2 이상의 ii에 대해 T_iT\_{i}T_i1T\_{i-1}ii번 정점을 T_i1T\_{i-1}의 정점 중 하나와 간선으로 이어 추가한 트리다. ii번 정점과 연결된 정점이 jj번 정점이 될 확률은 a_ja_1++a_i1\frac{a\_j}{a\_1+ \cdots + a\_{i-1}}이다. ii번 정점과 연결된 정점이 jj번 정점이라면 그 간선의 길이는 c_i+c_jc\_i + c\_j이다.

QQ개의 쿼리가 주어진다. 각 쿼리로 uuvv가 주어질 때마다 T_NT\_{N}에서 uu번 정점과 vv번 정점의 거리의 기댓값을 구하여라.

입력

첫 번째 줄에 NNQQ가 주어진다. (2N,Q300,000)(2 \leq N,Q \leq 300\\,000)

두 번째 줄에 N1N-1개의 정수 a_1,a_2,,a_N1a\_1,a\_2, \cdots, a\_{N-1}이 공백으로 구분되어 주어진다. (1a_i2,000)(1 \leq a\_i \leq 2\\,000)

세 번째 줄에 NN개의 정수 c_1,c_2,,c_Nc\_1,c\_2, \cdots, c\_N이 공백으로 구분되어 주어진다. (1c_i2,000)(1 \leq c\_i \leq 2\\,000)

이후 QQ개의 줄에 걸쳐 쿼리들이 주어진다. 각 줄에는 uuvv가 공백으로 구분되어 주어진다. (1u,vN)(1 \leq u,v \leq N)

출력

ii번째 쿼리의 답을 ans_i=p_iq_ians\_i=\frac{p\_i}{q\_i}라 하자. (p_ip\_i, q_iq\_i는 서로소인 음이 아닌 정수) ii번째 줄에는 p_iq_ix_i(mod109+7)p\_i \equiv q\_i x\_i \pmod{10^9+7}를 만족하는 00 이상 109+710^9+7 미만의 정수 x_ix\_i를 출력한다. 이 수는 유일하게 존재함을 증명할 수 있다.