问题 G: 分配宝藏

内存限制:128 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

染染船长终于获得了宝藏!

宝藏是很多很多的金币(可以看成无穷多),染染需要与手下的 nn 名水手们分享金币。

根据大嘤帝国的传统,分配宝藏对于船长而言是一件稍不留神就会丧命的苦差事。这是由于,船长需要将每人能分到多少宝藏的决议公布,之后全体船员(包括船长)开会投票决定决议是否通过。如果半数及以上船员(包括船长)投票通过,船长就能够安全的执行决议;否则,船长就会被投海杀死,由第 11 顺位继承人继承船长的职位并再次分配,再不通过就继续投海杀死并由第 22 顺位继承人继承,依此类推。

好在经过多日的相处,染染知道手下的水手各个都是聪明绝顶贪婪并且相互之间了如指掌的狠人!每个水手都会在保证自己不被杀死的前提下企图获得更大的利益。

现在,染染想要知道,如何分配给第 1,2,⋯,n1,2,,n 顺位继承人的金币数量,才能保证自己只需要分出去最少的金币就能保住自己的性命。

输入格式

本题单个测试点内包含多组测试数据。

输入第一行一个正整数 T (1≤T≤20)T (1T20),表示数据组数。

每组数据第一行一个正整数 n (1≤n≤109)n (1n109),表示染染手下不包括他自己在内的水手数量。

输出格式

为了避免输出量过大,输出对每组数据进行压缩。

对于每组数据,假设染染分配给船长的第 ii 顺位继承人的金币数量为 riri,你只需要输出一行一个压缩后的非负整数 RRR=(∑i=1ni⋅ri)mod(109+7)R=(i=1niri)mod(109+7)

可以证明序列 r1,r2,⋯,rnr1,r2,,rn 唯一。

输入样例 复制

2
1
2

输出样例 复制

0
2