Because of the thriller adventure game The 3rd Building, there are fewer and fewer students who would like to go to the 3rd Building. So few students are working in the studio in the 3rd Building. Students are even more reluctant to go to the 3rd Building for experiments, which are also annoying.
Kanade takes responsibility to improve this status. She thinks it a good idea to decorate the ginkgo trees along the road to the 3rd Building, making them cute. There are n ginkgo trees that are planted along the road, numbered with 1…n. Each tree has a cute value. The cute value of tree i is si.
Kanade defines a plan as an ordered pair (i,j), here 1≤i≤j≤n. It means a student will appear at the position of the tree i magically, walk along the road, and finally stop walking at the position of the tree j. The cute level of a plan is the average of the cute value of the trees visited. Formally, the cute level of plan (i,j) is 1j−i+1∑jk=isk.
Kanade wants to know the mathematical expectation of the cute level if a student will take a plan among all these plans in a uniformly random way. But she is busy with learning Computer Networking, would you help her?
输入格式
The first line of the input contains an integer T — the number of testcases. You should process these testcases independently.
The first line of each testcase contains an integer n — the number of ginkgo trees.
The second line of each testcase contains n integers si — the cute value of each ginkgo tree, space-separated.
1≤T≤20,1≤n≤2×105,1≤si≤109
It is guaranteed that ∑n≤106.
输出格式
For each testcase, output the answer in the fraction form modulo 109+7in one line. That is, if the answer is PQ, you should output P⋅Q−1mod(109+7), where Q−1denotes the multiplicative inverse of Qmodulo 109+7.