#include <bits/stdc++.h>
using namespace std;
bool checkValid(const vector<int>& A, int blockSize) {
int N = A.size();
int k = N / blockSize;
vector<vector<int>> blocks(k);
for (int i = 0; i < N; ++i) {
blocks[i % k].push_back(A[i]);
}
int diff = -1;
for (int i = 0; i < k; ++i) {
if (blocks[i].size() != blockSize) return false;
int mn = *min_element(blocks[i].begin(), blocks[i].end());
int mx = *max_element(blocks[i].begin(), blocks[i].end());
int d = mx - mn;
if (diff == -1) diff = d;
else if (diff != d) return false;
}
return true;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while (T--) {
int N;
cin >> N;
vector<int> A(N);
for (int i = 0; i < N; ++i) cin >> A[i];
int answer = 1;
sort(A.begin(), A.end());
vector<int> divisors;
for (int i = 2; i <= N; ++i) {
if (N % i == 0) divisors.push_back(i);
}
for (int len : divisors) {
if (checkValid(A, len)) {
answer = max(answer, N / len);
}
}
cout << answer << '\n';
}
return 0;
}