N개의 정점으로 이루어진 트리 T_N를 다음과 같은 방법으로 생성한다.
Q개의 쿼리가 주어진다. 각 쿼리로 u와 v가 주어질 때마다 T_N에서 u번 정점과 v번 정점의 거리의 기댓값을 구하여라.
첫 번째 줄에 N과 Q가 주어진다. (2≤N,Q≤300,000)
두 번째 줄에 N−1개의 정수 a_1,a_2,⋯,a_N−1이 공백으로 구분되어 주어진다. (1≤a_i≤2,000)
세 번째 줄에 N개의 정수 c_1,c_2,⋯,c_N이 공백으로 구분되어 주어진다. (1≤c_i≤2,000)
이후 Q개의 줄에 걸쳐 쿼리들이 주어진다. 각 줄에는 u와 v가 공백으로 구분되어 주어진다. (1≤u,v≤N)
i번째 쿼리의 답을 ans_i=q_ip_i라 하자. (p_i, q_i는 서로소인 음이 아닌 정수) i번째 줄에는 p_i≡q_ix_i(mod109+7)를 만족하는 0 이상 109+7 미만의 정수 x_i를 출력한다. 이 수는 유일하게 존재함을 증명할 수 있다.