반짝반짝 3

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

문제

국렬이는 작년 여름에 사용하다 남은 전구 스트립을 이용해서 자신의 자취방에 있는 NN개의 정점으로 이루어진 트리를 장식하려고 한다.

전구는 트리의 각 정점에 하나씩 설치되어 있다. ii번째 정점에 붙어있는 전구는 전원을 넣었을 때 p_ip\_i의 확률로 켜진다. 그리고 전구에 여유가 넘치는 국렬이는 간선에 추가 전구를 하나씩 달았다. 이 추가 전구들은 연결된 두 정점에 설치된 전구들 중 하나만이 켜졌을 때 불이 켜진다.

추가로 국렬이는 QQ번 특정 정점에 설치된 전구를 다른 전구로 바꿀 것이다. 각 시점별로 불이 들어오는 전구 개수의 기댓값을 구하여라.

입력

첫 번째 줄에는 정점의 개수 NN이 주어진다. (2N500,0002 \le N \le 500\\,000)

두 번째 줄에는 p_1p\_1부터 p_Np\_N이 주어진다. 이는 정확히 소수점 아래 두 자리까지 주어진다. (0.00p_i1.000.00 \le p\_i \le 1.00)

세 번째 줄부터 (N+1)(N+1)번째 줄까지 두 정수 uu, vv가 주어진다. 이는 주어진 트리에 정점 uu와 정점 vv를 연결하는 간선을 의미한다. (1u,vN1 \le u,v \le N, uvu \ne v)

(N+2)(N+2)번째 줄에는 전구를 바꾸는 횟수를 의미하는 QQ가 주어진다. (1Q500,0001 \le Q \le 500\\,000)

그다음 QQ개의 줄에 걸쳐서 양의 정수 uu와 음이 아닌 실수 pp가 주어진다. 이는 정점 uu에 설치된 전구를 켜질 확률이 pp인 전구로 교체하는 것을 의미한다. pp는 정확히 소수점 아래 두 자리까지 주어진다. (1uN1 \le u \le N, 0.00p1.000.00 \le p \le 1.00)

출력

첫 번째 줄에는 초기의 불이 들어오는 전구의 기댓값을 출력한다. 그다음 QQ개의 줄에 걸쳐서 각 시점별로 불이 들어오는 전구 개수의 기댓값을 출력한다. 출력한 값과 정답과의 절대 오차 또는 상대 오차가 10610^{-6} 이하여야 한다.