贪吃蛇
题号:NC219016
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛在玩贪吃蛇,玩贪吃蛇吃掉别的蛇就会变长。牛牛的蛇被别人吃掉后,发现可以看广告复活,且复活后长度不变。
牛牛想到了一个作弊的高招,他和他邀请的个朋友进入同一个房间玩贪吃蛇,初始时一共有条蛇,第条蛇的长度为L_i,进入游戏后,首先牛牛从这条蛇中选择一条蛇作为自己的蛇,然后他的第个朋友从剩下的条蛇中选择一条蛇,然后他的第个朋友从剩下的条蛇中选择一条蛇... ...直到牛牛的第个朋友选择蛇后,游戏开始,现在他们互相吃掉对方。
设蛇此时的长度L_A,蛇此时的长度L_B,蛇吃掉蛇长度会变为,而蛇则需要看秒广告复活。
牛牛的朋友都会帮助牛牛使牛牛的蛇变得尽可能的长,牛牛想知道,秒后牛牛的蛇最长可以是多长?
(假设吃蛇不花时间,可以无限次复活,除了吃蛇没有其它方式可以变长,房间里除了牛牛和牛牛的朋友外没有别人)
由于答案可能很大,你只需要输出答案对取模的结果。

输入描述:

输入包含组测试用例,第一行一个整数
每组测试用例第一行三个整数
每组测试用例第二行个整数

输出描述:

输出行,第行为第组测试用例的答案。
示例1

输入

复制
3
1 3 4
2
5 7 8
6 6 6 6 6
5 1 8
6 6 6 6 6

输出

复制
2
90
612546

备注: