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

void solve() {
    ll n , k;
    cin >> n >> k;
    vector<ll> v(n + 1);
    for (int i = 1 ; i <= n ; i++)
        cin >> v[i];
    vector<vector<ll>> dp(n + 1, vector<ll> (45));

    for (int i = 1 ; i <= n ; i++) {
        dp[i][0] = dp[i-1][0] - k + v[i];
        for (int j = 1 ; j < 40 ; j++) {
            dp[i][j] = max(dp[i-1][j] - k + (v[i] / (1ll << j)) , 
                           dp[i-1][j-1] + (v[i] / (1ll << j)));
        }
    }

    cout << *max_element(dp[n].begin(), dp[n].end()) << endl;
}

int32_t main() {
    int t = 1;
    cin >> t;
    while(t--) {
        solve();
    }
}