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

Abelian Period

Time 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
2 6 5 4 4 4 5 4 8 6 5 6 5 6 5 5 6
 

Sample Output
3 6 2 4 8
 

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-04-26 09:03:59, Gzip enabled