F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Equal Sentences

Time 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
2 6 he he zhou is watching you 13 yi yi si wu yi si yi jiu yi jiu ba yao ling
 

Sample Output
8 233
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-21 18:03:28, Gzip enabled