luogu#P9838. 挑战 NPC IV
挑战 NPC IV
题目背景
要是什么都和 NPC 问题一样简单就好了啊。
题目描述
小 A 想为小 B 写一首情诗。他现在想出了 个句子,每个句子的优美度分别为 。小 A 需要按照一定的顺序将他们组合起来,拼成一首完整的诗。换句话说,小 A 需要重新排列这 个句子,形成一个 的排列 ;第 行诗句的优美度就是原先第 个句子的优美度,也就是 。
不过,由于小 A 是位 OIer,所以他的文采并不是很稳定。他实际上会严重高估自己诗句的优美程度。若一条诗句在小 A 眼里的优美度为 ,那么小 B 认为它的优美度是 在二进制表示下最低位的 的位置。其中,小 B 认为最低位的位置是 ,次低位为 ,以此类推。也就是说,小 B 眼中的优美度 为 。
小 A 知道,小 B 拿到诗后,只会选取诗的一段来看,而她感受到的优美度是所有她读到的诗句之和。具体的,若诗有 句,则小 B 会在 的所有长度 的区间中抽取一个 ,感受到 的优美度。小 A 为了衡量一首诗的优美度,决定将一首诗的总优美度定义为 所有情况下小 B 感受到的优美度之和。
照理来说,总优美度最大的组合方式必然是最好的。遗憾的是,在小 A 的精密计算下,他发现,只有他选择总优美度恰好为 第 小 的情诗时,他才最有可能和小 B 走到一起。于是,小 A 想要知道,对于 首本质不同的诗,第 小可能的总优美度是多少。两首诗本质相同当且仅当原排列 相同。
小 A 发现这是一个 NPC 问题,他只好来向你求助了。由于总优美度过于巨大,你只需要帮他求出答案对 取模后的结果。
特别的,小 A 写了 组诗句,所以你需要分别回答他的 个问题。
输入格式
从标准输入中读入数据。
第一行一个正整数 ,表示诗句的组数。
对于每组数据,仅一行两个正整数 描述小 A 的问题。
输出格式
输出到标准输出。
对于每组诗句,输出一行一个整数,表示第 小的总优美度对 取模后的结果。
2
3 2
3 6
13
14
5
4 1
4 10
4 16
4 20
4 24
32
34
36
36
38
10
1000000000000000000 1000000000000000000
1145141919810 19260817998244353
15 131413141314
36 93930322810121243
172 354354645654567654
666 233
1048576 2147483648
1000000007 1000000009
99824 44353
10 1
36226088
846277092
1096
12356
1239174
70731494
274614617
511280969
625722816
330
提示
【样例 1 解释】
例如,当 时,小 B 眼中每句诗的优美度分别为 。那么:
- 当 , 时,优美度之和为 。
- 当 , 时,优美度之和为 。
- 当 , 时,优美度之和为 。
- 当 , 时,优美度之和为 。
- 当 , 时,优美度之和为 。
- 当 , 时,优美度之和为 。
所以 的总优美度为 。
对于所有 个排列 ,其总优美度从小到大排序后分别为 ,因此当 与 时答案分别为 和 。
【样例 2】
见附件下的 与 。
【样例 3】
见附件下的 与 。
【数据范围】
本题各测试点时间限制不相同。具体地,每个点的时间限制为 。
测试点编号 | |||
---|---|---|---|
对于 的数据,保证 ,,。