합리적인 직장 관계
시간 제한2초메모리 제한256 MB
각 질의 노드의 부분 트리에서 행복한 리더 수의 기댓값을 구한다. 리더는 자신의 부분 트리에서 a_i + w_i를 초과하는 구성원 비율이 0일 때 행복하며, 답은 1e9+7로 나눈 값이다.
문제
부하들은 상사의 명령에 무조건 복종해야 한다. 불만이 있으면 나중에 말하면 된다. "냄비를 위아래로 부하들에게 던지면, 그들은 인내심을 가지고 억울함을 가득 품은 채 받아들일 수밖에 없다"... 직장 소설에서 흔히 보이는 이런 말이 정말 현재 상황을 반영하는가? 더 구체적이고 단순화된 모델로 넘어가 보자.
이제 직장 관계 모델, 즉 상사와 부하의 관계가 있다. 큰 보스가 한 명만 있다고 가정하자. 큰 보스라고 불리니 당연히 상사가 없다. 큰 보스에게는 직접 관리하는 부하가 몇 명 있고, 그 부하들에게도 자기 부하가 있다... 이런 식으로 여러 번 반복하면 이 모델이 뿌리 있는 트리임을 분명히 알 수 있다. 모델에는 명의 사람이 있고 부터 까지 번호가 매겨져 있다. 번 사람의 상사는 노드 의 부모이고, 큰 보스는 트리의 뿌리이다. 각 사람 에게 능력을 측정하는 정수 를 준다.
그룹은 한 사람, 즉 그룹의 리더와 그들의 직간접 부하 전부로 이루어진다. 분명히 그룹은 어떤 서브트리에 대응하고, 그룹 리더는 그 서브트리의 뿌리이다. 리더가 부하를 관리하는 일은 리더와 부하의 능력만으로 결정되어서는 안 된다는 것을 안다. 너무 좁고 관리에 도움이 되지 않는다. 리더라는 특별한 지위 때문에 리더에게는 분명히 관리에 도움이 되는 이른바 위엄이 있다. 그래서 각 사람 에게 위엄을 측정하는 정수 를 준다.
위엄과 어느 정도의 능력이 있으면 리더십으로 대중을 설득할 수 있다. 안타깝게도 능력 값()이 리더의 능력과 위엄의 합보다 큰 부하가 항상 있고, 이는 매우 나쁘다. 아무리 마음이 넓은 리더라도 마음 한구석에는 항상 불편함이 있다.
문제를 단순화하기 위해 리더가 인 그룹을 생각하자. 를 뿌리로 하는 서브트리에 개의 노드가 있다. 이 서브트리에서 를 만족하는 노드 의 개수를 라 하자. 그러면 사람 는 리더로서 의 확률로 불행해진다(리더는 단순해서 행복하거나 불행하거나 둘 중 하나이다). 서로 다른 사람의 확률은 독립이다.
이제 회사의 직장 관계 구조가 합리적인지 측정하기 위해 몇몇 그룹을 살펴보자. 구체적으로 개의 질문에 답해야 한다. 번째 질문에서 사람 가 이끄는 그룹을 생각하자. 이 그룹에서 리더로서 행복할 사람 수의 기댓값을 세야 한다.
입력
입력의 첫 줄에는 두 정수 과 이 주어진다(, ).
다음 줄에는 개의 정수 이 주어지며, 는 사람 의 상사를 나타낸다. 이면 번째 사람은 상사가 없고 큰 보스이다. 큰 보스가 정확히 한 명임은 보장되지만, 보스가 사람 번호 이라는 것은 보장되지 않는다. 상사와 부하 관계가 뿌리 있는 트리를 이룸도 보장된다.
그다음 줄에는 각 사람의 능력을 나타내는 개의 정수 이 주어진다().
그다음 줄에는 각 사람의 위엄을 나타내는 개의 정수 이 주어진다().
다음 개의 줄 중 번째 줄에는 정수 가 하나 주어지며, 가 이끄는 그룹에서 리더로서 행복할 것으로 기대되는 사람 수를 묻는다.
출력
개의 줄에 각 질문의 답을 하나씩 출력한다.
질문의 결과가 정수가 아닐 수 있으므로, 값을 로 나눈 나머지로 출력해야 한다.
형식적으로, 답은 서로소인 음이 아닌 정수 와 에 대해 분수 로 나타낼 수 있음이 증명된다. 을 출력해야 한다.
힌트
사람 은 확률 로 행복하다. 사람 는 항상 행복하다.