GCPC 2019 终于结束了。你已经奋斗了五个小时,并尽可能多地解决了题目。然而,由于记分牌仍然处于冻结状态,你仍然不知道自己获得了什么名次。当然,你认为你和你的团队赢得了 GCPC 2019。
由于比赛结束到记分牌解冻之间总有一段漫长的等待时间(有人需要打印证书,有人需要重新编译演示文稿),你想利用这段时间来确定你的团队赢得 GCPC 2019 的概率。
你知道最终的记分牌情况,也就是说,对于所有队伍,你知道他们在冻结前解决了哪些题目,以及在冻结期间尝试了哪些题目。此外,你从去年了解到每支队伍的实力,并且你信任自己对每道题目难度的估计。具体来说,如果一支实力为 $s \in [0, 1]$ 的队伍尝试解决一道难度为 $d \in [0, 1]$ 的题目,你假设他们解决该题的概率为 $s \cdot d$。
由于你的团队今年在解决简单题目方面非常迅速,你假设只有当其他队伍解决的题目数量比你多时,他们的排名才会比你高(你假设在平局时你总是获胜)。
输入格式
- 第一行包含两个整数 $t$ 和 $p$ ($1 \le t, p \le 100$),分别表示参赛队伍的数量和题目数量。队伍编号为 $1$ 到 $t$,题目编号为 $1$ 到 $p$。你的团队是第 $t$ 支队伍。
- 第二行包含 $t - 1$ 个实数 $s_1, \dots, s_{t-1}$ ($0 \le s_i \le 1$,对于每个 $i$),其中 $s_i$ 是第 $i$ 支队伍的实力。
- 第三行包含 $p$ 个实数 $d_1, \dots, d_p$ ($0 \le d_j \le 1$,对于每个 $j$),其中 $d_j$ 是第 $j$ 道题的难度。
- 接下来 $t - 1$ 行描述了其他队伍的题目状态。每一行包含 $p$ 个字符 $c_1, \dots, c_p$,其中第 $i$ 行的 $c_j$ 描述了第 $i$ 支队伍第 $j$ 道题的状态:如果该队在冻结前解决了该题,则为
X;如果该队在冻结后提交了该题的程序,则为?;否则为-。 - 最后一行输入描述了你的团队解决的题目,包含 $p$ 个字符,每个字符要么是
X,要么是-。
输入中的所有实数最多包含六位小数。
输出格式
输出一个实数,表示你的团队赢得 GCPC 2019 的概率。你的答案应具有不超过 $10^{-6}$ 的绝对或相对误差。
样例
样例输入 1
3 3 0.95 0.95 0.95 0.95 0.95 ? ? ? X X - X X -
样例输出 1
0.264908
样例输入 2
2 5 0.5 0.1 0.2 0.3 0.4 0.5 ? ? ? ? ? X - - - -
样例输出 2
0.8387625