给定一个长度为 n 的正整数序列 a1,a2,⋯,an,以及一个正整数 R。
请你求出,有多少种长度为 n 的正整数序列 b1,b2,⋯,bn,满足:
- 对于任意 1≤i≤n,有 ai≤bi≤R。
- 对于任意 1≤i<n,有 bi≥bi+1。
答案对 109+7 取模。
输入格式
每个测试点中包含多组测试数据。输入的第一行包含一个正整数 T (1≤T≤10),表示数据组数。
对于每组测试数据:
- 第一行两个正整数 n,R (1≤n≤5×103,1≤R≤109),分别表示序列长度与限制条件。
- 第二行 n 个正整数 a1,a2,⋯,an (1≤ai≤R),表示序列 a。
保证所有测试数据中 n 之和不超过 5.2×103。
输出格式
对于每组测试数据:输出一行一个整数,表示答案对 109+7 取模后的值。
样例
输入
2
5 5
3 1 3 4 4
4 1000
1 1 1 1
输出
6
917124963
提示
对于样例一,有 6 种合法的 b 序列:
- b=[5,5,5,5,5]
- b=[5,5,5,5,4]
- b=[5,5,5,4,4]
- b=[5,5,4,4,4]
- b=[5,4,4,4,4]
- b=[4,4,4,4,4]