#include <bits/stdc++.h>
using namespace std;

const int mx = 200000;
vector<int> lo(mx + 1), pri;

int main() {
    for (int x = 2; x <= mx; x++) {
        if (!lo[x]) {
            lo[x] = x;
            pri.push_back(x);
        }
        for (int p : pri) {
            if (p * x > mx) break;
            lo[p * x] = p;
            if (p == lo[x]) break;
        }
    }
    int t;
    cin >> t;
    while (t--) {
        int n, k;
        cin >> n >> k;
        vector<int> a(n);
        for (int &x : a) cin >> x;

        const long long inf = LLONG_MAX;
        vector<long long> dp(n + 1, inf);

        for (int x = 1; x <= n; x++) {
            if (x <= k) {
                dp[x] = 0;
                continue;
            }
            int xx = x;
            while (xx > 1) {
                int p = lo[xx];
                dp[x] = min(dp[x], 1 + dp[x / p] * p);
                xx /= p;
            }
        }
        long long ans = 0;
        for (int x : a) ans += dp[x];
        cout << ans << '\n';
    }
}
