他聪明、富有——而且他需要你的帮助。史高治·麦克达克(Scrooge McDuck)的第一枚硬币被玛奇卡·德·斯派尔(Magica De Spell)偷走了。苏格兰场最优秀的侦探们正在调查此案,但他们发现的唯一线索是玛奇卡不小心掉落的秘密日记。不幸的是,它被某种魔咒保护着,阻止任何人理解其内容。这就是为什么他们需要你——鸭堡(Duckburg)最优秀的数学家。
你注意到的第一件事是,某些单词出现的频率比其他单词高得多,并形成了一些奇怪的模式。你提出了一个假设,即这些单词是玛奇卡魔咒的一部分,并决定在后续分析中忽略它们。在此之后,事情变得非常明显:日记中的某些单词经常相邻出现(例如 “Scrooge” 和 “McDuck”),而其他单词的分布则几乎相互独立。你相信这就是解开玛奇卡日记的钥匙,并希望验证你的想法。
更确切地说,一个单词(word)是指由英文字母组成的非空连续序列。文本中可能包含其他字符,你应该将它们视为空格。单词是不区分大小写的。
定义 $P(a)$ 为单词 $a$ 在文本中的占比(即 $a$ 的出现次数除以文本中的单词总数)。
类似地,定义 $P(a, b)$ 为单词 $a$ 和 $b$ 相邻出现的比例(即它们相邻出现的次数除以文本中相邻单词对的总数)。
那么:
$$C(a, b) = \frac{P(a, b)}{P(a)P(b)}$$
将展示单词 $a$ 和 $b$ 之间的关联程度。
你对某些单词对特别感兴趣,并想检查它们的关联程度。不幸的是,日记太长了,无法手动进行这种分析,因此你决定编写一个程序来帮你完成。
输入格式
输入的第一行包含一个整数 $N$,表示玛奇卡日记的总行数($1 \le N \le 4000$)。
接下来是 $N$ 行文本。日记中仅包含英文字母、括号、标点符号(0123456789.,:;-!?'()")、和号(&)以及空格。文本的总长度不超过 $500\text{ KiB}$,且每个单词的长度不超过 $20$。文本中还包含至少两个非魔法单词。
第 $N + 2$ 行包含一个整数 $K$,表示需要忽略的“魔法”单词总数($0 \le K \le 100$)。
接下来的 $K$ 行每行包含一个这样的单词,均为小写。
第 $N + K + 3$ 行包含一个整数 $Q$,表示你感兴趣的单词对总数($0 \le Q \le 50\,000$)。
接下来 $Q$ 行,每行包含两个小写单词。
输出格式
对于每个查询 $(a, b)$,你应该在单独的一行中输出 $C(a, b)$ 的值,作为一个浮点数,其绝对误差或相对误差不超过 $10^{-6}$。
样例
输入样例 1
3 I have lived through some terrible things in my life, some of which actually happened. 3 of in which 3 some actually things life lived through
输出样例 1
6.545454545454546 0.0 13.090909090909092
输入样例 2
1 (2 - 2) Plus (1 - 1) equals 0 0 1 equals plus
输出样例 2
4.0