时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
蓬莱山辉夜由于整天宅在家,整个人都已经变成了一只废neet姬了。于是,她找来了铃仙和因幡帝,来玩一个小游戏。
辉夜拿出一个长度为

的数组

,铃仙拿出一个长度为

的数组

,因幡帝拿出一个长度为

的数组

。
她们等概率的在各自的数组中取一个数。辉夜想知道这三个取出的数的乘积的期望是多少?
可以证明,这个期望一定是有理数,可以写成

的形式。请输出这个分数对

取模的值。
提示:分数

对

取模的值

的意义是在区间

里找到一个数

满足

对

取模为

。
提示2:本题输入数据较大,推荐使用scanf或更快的输入方式
输入描述:
第一行输入三个正整数
,用空格隔开。分别代表辉夜、铃仙和因幡帝拿到的数组长度。
第二行输入
个正整数
,代表辉夜拿到的数组。
第三行输入
个正整数
,代表铃仙拿到的数组。
第四行输入
个正整数
,代表因幡帝拿到的数组。
数据范围:
输出描述:
最后乘积的期望对
取模的值。
示例1
说明
三个人各取一个数的组合有以下8种:
1*1*2=2
1*1*4=4
1*1*2=2
1*1*4=4
2*1*2=4
2*1*4=8
2*1*2=4
2*1*4=8
(2+4+2+4+4+8+4+8)/8=36/8=4.5
最终的乘积期望是4.5,即9/2,由于(500000008*2)%1000000007=9,因此输出500000008