对于一个数组 a[],定义 RMQ(L,R) 是数组下标区间 [L,R] 的最大值,也就是 \max_{i=L}^{R}a_i。
现在给定长度为 n 的全排列数组 a[ ],接下来有 m 次询问。
每次询问中,给定 k 个不同的数 p[ ],你可以从中有放回地随机抽取两个数 p_x, p_y,不妨设 p_x \leq p_y。
现在问你对于 a[],RMQ(p_x,p_y) 有哪几种情况,这些情况出现的概率各是多大。
输入
第一行输入一个正整数 n \ (1 \leq n \leq 10^5)。
接下来输入一行 n 个正整数 a_1,a_2,...,a_n \ (1 \leq a_i \leq n)。
接下来一行输入一个正整数 m \ (1\leq m \leq 2 \times 10^5)。
接下来 m 行,每行首先输入一个正整数 k \ (1 \leq k \leq 10^5),然后紧跟着 k 个正整数 p_1,p_2,...,p_k \ (1 \leq p_i \leq n)。
数据保证 \sum k \leq 2 \times 10^5。
输出
对于每个查询,首先按照可能出现的得分升序输出得分情况,然后输出该得分情况的概率。
概率用一个既约分数 P/Q 表述。
样例
标准输入 复制文本 |
5 1 3 5 2 4 3 1 1 2 1 5 5 5 4 3 2 1 |
标准输出 复制文本 |
1 1/1 1 1/4 4 1/4 5 1/2 1 1/25 2 1/25 3 3/25 4 3/25 5 17/25 |