#include <stdio.h> #include <algorithm> #include <assert.h> #include <set> #include <map> #include <complex> #include <iostream> #include <time.h> #include <math.h> #include <stack> #include <stdlib.h> #include <memory.h> #include <bitset> #include <math.h> #include <string> #include <string.h> #include <queue> #include <vector> using namespace std; const int MaxN = 1e4 + 10; const int INF = 1e9; int main() { // freopen("input.txt", "r", stdin); vector < int > primes(MaxN, true); for (int i = 2; i < MaxN; ++i) { if (primes[i] == true) { for (int j = i + i; j < MaxN; j += i) { primes[j] = false; } } } int t; scanf("%d", &t); while (t --> 0) { int n; scanf("%d", &n); vector < int > arr(n); for (int i = 0; i < n; ++i) { scanf("%d", &arr[i]); } int mx = *max_element(arr.begin(), arr.end()); int ans = INF; for (int g = 2; g <= mx + 1; ++g) { if (primes[g] == false) { continue; } int cans = 0, last = 0; for (int i = 0; i < n; ++i) { if (last < arr[i]) { last = (arr[i] + g - 1) / g * g; } cans += last - arr[i]; } ans = min(ans, cans); } printf("%d\n", ans); } return 0; }