#include <bits/stdc++.h>

using namespace std;

typedef long long LL;

LL dp[20][100010];
LL a[100010];

LL get(int L, int R)
{
	//int k = log(R - L + 1) / log(2);
	int k = 31 - __builtin_clz(R - L + 1);
	return __gcd(dp[k][L], dp[k][R - (1 << k) + 1]);
}

int main()
{
	ios::sync_with_stdio(false);
	int T, n;
	cin >> T;
	while (T--) {
		cin >> n;
		for (int i = 1; i <= n; i++) {
			cin >> a[i];
			dp[0][i] = a[i];
		}
		
		for (int i = 1; i < 20; i++) {
			for (int j = 1; j + (1 << i) - 1 <= n; j++) {
				dp[i][j] = __gcd(dp[i - 1][j], dp[i - 1][j + (1 << (i - 1))]);
			}
		}
		LL ans = 0;
		for (int i = 1; i <= n; i++) {
			int L = i;
			while (L <= n) {
				int low = L, high = n, R = L;
				while (low <= high) {
					int mid = (low + high) >> 1;
					assert(get(i, L) >= get(i, mid));
					if (get(i, L) == get(i, mid)) {
						R = mid;
						low = mid + 1;
					}
					else {
						high = mid - 1;
					}
				}
				ans = max(ans, get(i, L) * (R - i + 1));
				L = R + 1;
			}
		}
		cout << ans << '\n';
	}
	return 0;
}
