Brandon likes sequences that go up and down. Given a list of
integers, compute the number of subsequences that go up and down - that is to say, there is a unique maximal integer in the subsequence, and the prefix of the subsequence ending at that integer is strictly increasing, and the suffix of the subsequence starting at that integer is strictly decreasing. The subsequence must be nonempty.
Recall that a subsequence is obtained by deleting some (possibly zero) integers from the list. Two subsequences are distinct if and only if some integer is deleted in one subsequence but not the other.
Constraints



The sum of all
in an input file will not exceed
.
Input Specification
The first line contains a single positive integer
, the number of test cases.
test cases follow.
Each test case starts with a line containing a single positive integer,
. The next line contains
space-separated positive integers.
Output Specification
Output
lines. On the
th line, output the number of subsequences that go up and down, modulo
, for the
th test case.
Sample Input
Copy
2
3
1 3 2
4
1 3 2 4
Sample Output
Copy
7
13
Comments