#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;
}
