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

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

합리적인 직장 관계

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

요약
각 질의 노드의 부분 트리에서 행복한 리더 수의 기댓값을 구한다. 리더는 자신의 부분 트리에서 a_i + w_i를 초과하는 구성원 비율이 0일 때 행복하며, 답은 1e9+7로 나눈 값이다.
난이도

보통10점 중 7점

유형
DFS, 누적 합, 정렬, 조합론
정답자
아직 제출이 없습니다

문제

부하들은 상사의 명령에 무조건 복종해야 한다. 불만이 있으면 나중에 말하면 된다. "냄비를 위아래로 부하들에게 던지면, 그들은 인내심을 가지고 억울함을 가득 품은 채 받아들일 수밖에 없다"... 직장 소설에서 흔히 보이는 이런 말이 정말 현재 상황을 반영하는가? 더 구체적이고 단순화된 모델로 넘어가 보자.

이제 직장 관계 모델, 즉 상사와 부하의 관계가 있다. 큰 보스가 한 명만 있다고 가정하자. 큰 보스라고 불리니 당연히 상사가 없다. 큰 보스에게는 직접 관리하는 부하가 몇 명 있고, 그 부하들에게도 자기 부하가 있다... 이런 식으로 여러 번 반복하면 이 모델이 뿌리 있는 트리임을 분명히 알 수 있다. 모델에는 nn명의 사람이 있고 11부터 nn까지 번호가 매겨져 있다. ii번 사람의 상사는 노드 ii의 부모이고, 큰 보스는 트리의 뿌리이다. 각 사람 ii에게 능력을 측정하는 정수 a_ia\_i를 준다.

그룹은 한 사람, 즉 그룹의 리더와 그들의 직간접 부하 전부로 이루어진다. 분명히 그룹은 어떤 서브트리에 대응하고, 그룹 리더는 그 서브트리의 뿌리이다. 리더가 부하를 관리하는 일은 리더와 부하의 능력만으로 결정되어서는 안 된다는 것을 안다. 너무 좁고 관리에 도움이 되지 않는다. 리더라는 특별한 지위 때문에 리더에게는 분명히 관리에 도움이 되는 이른바 위엄이 있다. 그래서 각 사람 ii에게 위엄을 측정하는 정수 w_iw\_i를 준다.

위엄과 어느 정도의 능력이 있으면 리더십으로 대중을 설득할 수 있다. 안타깝게도 능력 값(a_ia\_i)이 리더의 능력과 위엄의 합보다 큰 부하가 항상 있고, 이는 매우 나쁘다. 아무리 마음이 넓은 리더라도 마음 한구석에는 항상 불편함이 있다.

문제를 단순화하기 위해 리더가 ii인 그룹을 생각하자. ii를 뿌리로 하는 서브트리에 s_is\_i개의 노드가 있다. 이 서브트리에서 a_j>a_i+w_ia\_j > a\_i + w\_i를 만족하는 노드 jj의 개수를 k_ik\_i라 하자. 그러면 사람 ii는 리더로서 k_i/s_ik\_i / s\_i의 확률로 불행해진다(리더는 단순해서 행복하거나 불행하거나 둘 중 하나이다). 서로 다른 사람의 확률은 독립이다.

이제 회사의 직장 관계 구조가 합리적인지 측정하기 위해 몇몇 그룹을 살펴보자. 구체적으로 mm개의 질문에 답해야 한다. ii번째 질문에서 사람 x_ix\_i가 이끄는 그룹을 생각하자. 이 그룹에서 리더로서 행복할 사람 수의 기댓값을 세야 한다.

입력

입력의 첫 줄에는 두 정수 nn과 mm이 주어진다(2≤n≤3⋅1052 \le n \le 3 \cdot 10^5, 1≤m≤3⋅1051 \le m \le 3 \cdot 10^5).

다음 줄에는 nn개의 정수 p_1,p_2,…,p_np\_1, p\_2, \ldots, p\_n이 주어지며, p_ip\_i는 사람 ii의 상사를 나타낸다. p_i=0p\_i = 0이면 ii번째 사람은 상사가 없고 큰 보스이다. 큰 보스가 정확히 한 명임은 보장되지만, 보스가 사람 번호 11이라는 것은 보장되지 않는다. 상사와 부하 관계가 뿌리 있는 트리를 이룸도 보장된다.

그다음 줄에는 각 사람의 능력을 나타내는 nn개의 정수 a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n이 주어진다(1≤a_i≤1091 \le a\_i \le 10^9).

그다음 줄에는 각 사람의 위엄을 나타내는 nn개의 정수 w_1,w_2,…,w_nw\_1, w\_2, \ldots, w\_n이 주어진다(1≤w_i≤1091 \le w\_i \le 10^9).

다음 mm개의 줄 중 ii번째 줄에는 정수 x_ix\_i가 하나 주어지며, x_ix\_i가 이끄는 그룹에서 리더로서 행복할 것으로 기대되는 사람 수를 묻는다.

출력

mm개의 줄에 각 질문의 답을 하나씩 출력한다.

질문의 결과가 정수가 아닐 수 있으므로, 값을 109+710^9 + 7로 나눈 나머지로 출력해야 한다.

형식적으로, 답은 서로소인 음이 아닌 정수 pp와 qq에 대해 분수 p/qp / q로 나타낼 수 있음이 증명된다. p⋅q−1 mod (109+7)p \cdot q^{-1} \bmod (10^9 + 7)을 출력해야 한다.

힌트

사람 11은 확률 1/21 / 2로 행복하다. 사람 22는 항상 행복하다.

예제1

  1. 예제 1

    입력
    2 2
    0 1
    1 10
    1 1
    1
    2
    
    예상 출력
    500000005
    1