A97502.Sakurako's Box

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Sakurako 有一个装满 nn 个球的盒子。每个球都有自己的数值。她想和朋友打个赌,朋友如果从盒子中随机选出两个球(可以是不同的两球,即使它们有相同的数值),这两个球数值的乘积能够等于 Sakurako 事先猜测到的一个数。

因为 Sakurako 是概率学方面的专家,她知道最明智的猜测应该是期望值,但她忘了如何去计算。请帮助她计算出这个数组中任意两个元素乘积的期望值。

可以证明,该期望值的形式为 PQ\frac{P}{Q},其中 PPQQ 是非负整数,且 Q0Q \ne 0。你需要计算并输出 PQ1mod(109+7)P \cdot Q^{-1} \bmod (10^9+7) 的结果。

输入格式

输入的第一行是一个整数 tt,表示测试用例的数量。

接下来的每一个测试用例的第一行是一个整数 nn,表示数组中元素的数量。

接下来的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n,表示数组中的元素值。

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5

输出格式

对每个测试用例,输出 PQ1mod(109+7)P \cdot Q^{-1} \bmod (10^9+7) 的结果。

输入输出样例

  • 输入#1

    3
    3
    3 2 3
    4
    2 2 2 4
    5
    1 2 3 4 5
    

    输出#1

    7
    6
    500000012
    

说明/提示

样例解释

  • 在第一个测试用例中,Sakurako 的朋友可以选择这些球对:(a1,a2)(a_1, a_2)(a1,a3)(a_1, a_3)(a2,a3)(a_2, a_3)。它们的乘积分别是 3×2=63 \times 2 = 63×3=93 \times 3 = 93×2=63 \times 2 = 6,所以期望值计算结果为 6+9+63=7\frac{6 + 9 + 6}{3} = 7

  • 在第二个测试用例中,朋友可以选择的球对有:(a1,a2)(a_1, a_2)(a1,a3)(a_1, a_3)(a1,a4)(a_1, a_4)(a2,a3)(a_2, a_3)(a2,a4)(a_2, a_4)(a3,a4)(a_3, a_4)。它们的乘积分别为 2×2=42 \times 2 = 42×2=42 \times 2 = 42×4=82 \times 4 = 82×2=42 \times 2 = 42×4=82 \times 4 = 82×4=82 \times 4 = 8,所以期望值为 4+4+8+4+8+86=366=6\frac{4 + 4 + 8 + 4 + 8 + 8}{6} = \frac{36}{6} = 6

数据范围

1t1041 \le t \le 10^4
2n21052 \le n \le 2 \cdot 10^5
0ai1090 \le a_i \le 10^9
保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5

首页