#include <iostream> #include <cstdio> #include <cmath> #include <vector> #include <algorithm> #include <utility> #include <map> #include <set> #include <string> #include <cstring> #include <queue> #define rf freopen("in.in", "r", stdin) #define wf freopen("out.out", "w", stdout) #define rep(i, s, n) for(int i=int(s); i<=int(n); ++i) using namespace std; const int mx = 1e5 + 10, mod = 1e9+7; int n, t; int prime[mx], A[mx]; void mark_primes() { memset(prime, -1, sizeof prime); for(int i = 2; i<=1e4; ++i) { if(prime[i] == -1) { prime[i] = 1; for(int j = i+i; j<=1e4; j+=i) prime[j] = 0; } } } int main() { //rf;// wf; ios::sync_with_stdio(0); mark_primes(); cin >> t; while(t--) { cin >> n; for(int i = 1; i<=n; ++i) cin >> A[i]; int ans = 2e9; for(int i = 2; i<=1e4; ++i) { if(!prime[i]) continue; int required_number = 0, temp_ans = 0; for(int j = 1; j<=n; ++j) { if(required_number < A[j]) required_number = ((A[j] + i - 1)/i)*i; temp_ans += required_number - A[j]; } ans = min(ans, temp_ans); } cout << ans << '\n'; } return 0; }