//editor: Jan Tang //problem: #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define set0(a) memset(a,0,sizeof(a)); #define CIN(a,n) for(int i=1;i<=n;i++) cin>>a[i]; typedef long long ll; typedef unsigned long long ull; const int Mod = 1e9+7; const int maxn = 100005; const int inf = 0x3f3f3f3f; const int p = 100003; int fac[maxn]; int m,n; int a[maxn], num[maxn], cal[maxn]; void init(){ fac[0] = 1; for(int i = 1; i < maxn; i++){ fac[i] = 1LL * fac[i-1] * p % Mod; } } /*==============================head==========================*/ int main(){ int T; cin >> T; init(); while(T-- > 0){ cin >> n; set0(cal); for(int i = 1; i <= n; i ++) { scanf("%d", &a[i]); cal[i] = cal[i-1] + fac[a[i]]; cal[i] %= Mod; // printf("i=%d, cal[i]=%d\n", i, cal[i]); } int lcm = 0; /* for(int i = 1; i <= n; i++){ if(num[i]){ num[i] = lcm(num[i], tmp); if(tmp>n) break; } } */ bool flag = 0; for(int i = 1; i <= n/2; i ++){ flag = 0; if(n%i==0){ for(int j = i; j <= n-i; j += i){ if(( (cal[j] - cal[j-i]) - (cal[j+i] - cal[j]) )%Mod){ flag = 1; break; } } if(!flag) printf("%d ", i); } } cout<