|
||||||||||
Equal SentencesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 1508 Accepted Submission(s): 739 Problem Description Sometimes, changing the order of the words in a sentence doesn't influence understanding. For example, if we change "what time is it", into "what time it is"; or change "orz zhang three ak world final", into "zhang orz three world ak final", the meaning of the whole sentence doesn't change a lot, and most people can also understand the changed sentences well. Formally, we define a sentence as a sequence of words. Two sentences $S$ and $T$ are almost-equal if the two conditions holds: 1. The multiset of the words in $S$ is the same as the multiset of the words in $T$. 2. For a word $\alpha$, its $i^\mathrm{th}$ occurrence in $S$ and its $i^\mathrm{th}$ occurrence in $T$ have indexes differing no more than $1$. (The $k^\mathrm{th}$ word in the sentence has index $k$.) This holds for all $\alpha$ and $i$, as long as the word $\alpha$ appears at least $i$ times in both sentences. Please notice that "almost-equal" is not a equivalence relation, unlike its name. That is, if sentences $A$ and $B$ are almost-equal, $B$ and $C$ are almost-equal, it is possible that $A$ and $C$ are not almost-equal. Zhang3 has a sentence $S$ consisting of $n$ words. She wants to know how many different sentences there are, which are almost-equal to $S$, including $S$ itself. Two sentences are considered different, if and only if there is a number $i$ such that the $i^\mathrm{th}$ word in the two sentences are different. As the answer can be very large, please help her calculate the answer modulo $10^9 + 7$. Input The first line of the input gives the number of test cases, $T \; (1 \le T \le 100)$. $T$ test cases follow. For each test case, the first line contains an integer $n \; (1 \le n \le 10^5)$, the number of words in the sentence. The second line contains the sentence $S$ consisting of $n$ words separated by spaces. Each word consists of no more than $10$ lowercase English letters. The sum of $n$ in all test cases doesn't exceed $2 \times 10^5$. Output For each test case, print a line with an integer, representing the answer, modulo $10^9 + 7$. Sample Input
Sample Output
Source | ||||||||||
|