#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int MAXN = 200005;
int spf[MAXN];
void sieve() {
for (int i = 1; i < MAXN; i++) spf[i] = i;
for (int i = 2; i * i < MAXN; i++) {
if (spf[i] == i) {
for (int j = i * i; j < MAXN; j += i) {
if (spf[j] == j) spf[j] = i;
}
}
}
}
void solve() {
int n, k;
if (!(cin >> n >> k)) return;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
vector<long long> g(n + 1, 0);
for (int i = k + 1; i <= n; i++) {
long long min_ops = -1;
int temp = i;
while (temp > 1) {
int p = spf[temp];
long long ops = 1 + (long long)p * g[i / p];
if (min_ops == -1 || ops < min_ops) {
min_ops = ops;
}
while (temp % p == 0) temp /= p;
}
g[i] = min_ops;
}
long long ans = 0;
for (int i = 0; i < n; i++) {
ans += g[a[i]];
}
cout << ans << "\n";
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
sieve();
int t;
if (cin >> t) {
while (t--) {
solve();
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNQVhOID0gMjAwMDA1OwppbnQgc3BmW01BWE5dOwoKdm9pZCBzaWV2ZSgpIHsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgTUFYTjsgaSsrKSBzcGZbaV0gPSBpOwogICAgZm9yIChpbnQgaSA9IDI7IGkgKiBpIDwgTUFYTjsgaSsrKSB7CiAgICAgICAgaWYgKHNwZltpXSA9PSBpKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBpICogaTsgaiA8IE1BWE47IGogKz0gaSkgewogICAgICAgICAgICAgICAgaWYgKHNwZltqXSA9PSBqKSBzcGZbal0gPSBpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIHNvbHZlKCkgewogICAgaW50IG4sIGs7CiAgICBpZiAoIShjaW4gPj4gbiA+PiBrKSkgcmV0dXJuOwogICAgdmVjdG9yPGludD4gYShuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICB9CgogICAgdmVjdG9yPGxvbmcgbG9uZz4gZyhuICsgMSwgMCk7CiAgICBmb3IgKGludCBpID0gayArIDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgbG9uZyBsb25nIG1pbl9vcHMgPSAtMTsKICAgICAgICBpbnQgdGVtcCA9IGk7CiAgICAgICAgd2hpbGUgKHRlbXAgPiAxKSB7CiAgICAgICAgICAgIGludCBwID0gc3BmW3RlbXBdOwogICAgICAgICAgICBsb25nIGxvbmcgb3BzID0gMSArIChsb25nIGxvbmcpcCAqIGdbaSAvIHBdOwogICAgICAgICAgICBpZiAobWluX29wcyA9PSAtMSB8fCBvcHMgPCBtaW5fb3BzKSB7CiAgICAgICAgICAgICAgICBtaW5fb3BzID0gb3BzOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHdoaWxlICh0ZW1wICUgcCA9PSAwKSB0ZW1wIC89IHA7CiAgICAgICAgfQogICAgICAgIGdbaV0gPSBtaW5fb3BzOwogICAgfQoKICAgIGxvbmcgbG9uZyBhbnMgPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBhbnMgKz0gZ1thW2ldXTsKICAgIH0KCiAgICBjb3V0IDw8IGFucyA8PCAiXG4iOwp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIHNpZXZlKCk7CiAgICBpbnQgdDsKICAgIGlmIChjaW4gPj4gdCkgewogICAgICAgIHdoaWxlICh0LS0pIHsKICAgICAgICAgICAgc29sdmUoKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=