Codeforces Round 275 (Div. 1)
E
ELCA
Codeforces
3200
原题
← D→
翻译中…

You have a root tree containing $*n*$ vertexes. Let's number the tree vertexes with integers from $1$ to $*n*$. The tree root is in the vertex $1$.

翻译中…

Each vertex (except fot the tree root) $*v*$ has a direct ancestor $*p*_{*v*}$. Also each vertex $*v*$ has its integer value $*s*_{*v*}$.

翻译中…

Your task is to perform following queries:

翻译中…
  • P $*v*$ $*u*$ ($*u* ≠ *v*$). If $*u*$ isn't in subtree of $*v*$, you must perform the assignment $*p*_{*v*} = *u*$. Otherwise you must perform assignment $*p*_{*u*} = *v*$. Note that after this query the graph continues to be a tree consisting of $*n*$ vertexes.
  • V $*v*$ $*t*$. Perform assignment $*s*_{*v*} = *t*$.
翻译中…

Your task is following. Before starting performing queries and after each query you have to calculate expected value written on the lowest common ancestor of two equiprobably selected vertices $*i*$ and $*j*$. Here lowest common ancestor of $*i*$ and $*j*$ is the deepest vertex that lies on the both of the path from the root to vertex $*i*$ and the path from the root to vertex $*j*$. Please note that the vertices $*i*$ and $*j*$ can be the same (in this case their lowest common ancestor coincides with them).

翻译中…

Input

翻译中…

The first line of the input contains integer $*n*$ ($2 ≤ *n* ≤ 5·10^{4}$) — the number of the tree vertexes.

翻译中…

The second line contains $*n* - 1$ integer $*p*_{2}, *p*_{3}, ..., *p*_{*n*}$ ($1 ≤ *p*_{*i*} ≤ *n*$) — the description of the tree edges. It is guaranteed that those numbers form a tree.

翻译中…

The third line contains $*n*$ integers — $*s*_{1}, *s*_{2}, ... *s*_{*n*}$ ($0 ≤ *s*_{*i*} ≤ 10^{6}$) — the values written on each vertex of the tree.

翻译中…

The next line contains integer $*q*$ ($1 ≤ *q* ≤ 5·10^{4}$) — the number of queries. Each of the following $*q*$ lines contains the description of the query in the format described in the statement. It is guaranteed that query arguments $*u*$ and $*v*$ lie between $1$ and $*n*$. It is guaranteed that argument $*t*$ in the queries of type V meets limits $0 ≤ *t* ≤ 10^{6}$.

翻译中…

Output

翻译中…

Print $*q* + 1$ number — the corresponding expected values. Your answer will be considered correct if its absolute or relative error doesn't exceed $10^{ - 9}$.

翻译中…

Note

翻译中…

Note that in the query P $*v*$ $*u*$ if $*u*$ lies in subtree of $*v*$ you must perform assignment $*p*_{*u*} = *v*$. An example of such case is the last query in the sample.

翻译中…

样例

Input #1
5
1 2 2 1
1 2 3 4 5
5
P 3 4
P 4 5
V 2 3
P 5 2
P 1 4
Output #1
1.640000000
1.800000000
2.280000000
2.320000000
2.800000000
1.840000000
InputCopy OutputCopy
题目信息
题号
482E
时间限制
8 s
内存限制
256 MB
标签
数据结构
树

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。