#agc006c. [agc006_c]Rabbit Exercise

[agc006_c]Rabbit Exercise

题目描述

在数轴上有 NN 只兔子。这些兔子分别从 11NN 进行方便的编号。第 ii 只兔子的初始位置坐标是 xix_i

现在,兔子们将在数轴上进行锻炼,执行以下所述的_集合_。一个集合由 MM 个_跳跃_组成。集合的第 jj 个跳跃由兔子 aja_j2ajN12≤a_j≤N-1)执行。对于这次跳跃,以相等的概率选择兔子 aj1a_j-1 或兔子 aj+1a_j+1 (设选择的兔子为兔子 xx),然后兔子 aja_j 将跳到相对于兔子 xx 的当前位置对称的点上。

兔子们将连续地执行 KK 个集合。对于每只兔子,找出执行 KK 个集合后其最终位置的坐标的期望值。

约束条件

  • 3N1053≤N≤10^5
  • xix_i 是整数。
  • xi109|x_i|≤10^9
  • 1M1051≤M≤10^5
  • 2ajN12≤a_j≤N-1
  • 1K10181≤K≤10^{18}

输入

输入以以下格式从标准输入给出:

NN x1x_1 x2x_2 ...... xNx_N MM KK a1a_1 a2a_2 ...... aMa_M

输出

打印 NN 行。第 ii 行应该包含执行 KK 个集合后兔子 ii 的最终位置坐标的期望值。如果输出的绝对或相对误差最大为 10910^{-9},则认为输出是正确的。


样例输入 1

3
-1 0 2
1 1
2

样例输出 1

-1.0
1.0
2.0

兔子 22 将执行跳跃。如果选择兔子 11,目的地的坐标将为 2-2。如果选择兔子 33,目的地的坐标将为 44。因此,兔子 22 的最终位置的坐标的期望值为 0.5×(2)+0.5×4=1.00.5×(-2)+0.5×4=1.0


样例输入 2

3
1 -1 1
2 2
2 2

样例输出 2

1.0
-1.0
1.0

xix_i 可能不是唯一的。


样例输入 3

5
0 1 3 6 10
3 10
2 3 4

样例输出 3

0.0
3.0
7.0
8.0
10.0