|
||||||||||
Abelian PeriodTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/131072 K (Java/Others)Total Submission(s): 1551 Accepted Submission(s): 588 Problem Description Let $S$ be a number string, and $occ(S,x)$ means the times that number $x$ occurs in $S$. i.e. $S=(1,2,2,1,3),occ(S,1)=2,occ(S,2)=2,occ(S,3)=1$. String $u,w$ are matched if for each number $i$, $occ(u,i)=occ(w,i)$ always holds. i.e. $(1,2,2,1,3)\approx(1,3,2,1,2)$. Let $S$ be a string. An integer $k$ is a full Abelian period of $S$ if $S$ can be partitioned into several continous substrings of length $k$, and all of these substrings are matched with each other. Now given a string $S$, please find all of the numbers $k$ that $k$ is a full Abelian period of $S$. Input The first line of the input contains an integer $T(1\leq T\leq10)$, denoting the number of test cases. In each test case, the first line of the input contains an integer $n(n\leq 100000)$, denoting the length of the string. The second line of the input contains $n$ integers $S_1,S_2,S_3,...,S_n(1\leq S_i\leq n)$, denoting the elements of the string. Output For each test case, print a line with several integers, denoting all of the number $k$. You should print them in increasing order. Sample Input
Sample Output
Source | ||||||||||
|