#include <bits/stdc++.h>
using namespace std;
string grid[50005];
int row[50005];
long long int a[50005];
int main() {
  long long int n, b, x, p, i, j, kk, q, fl, k, res, ans;
  cin >> q;
  while (q--) {
    cin >> n;
    cin >> k;
    long long int mini = 10000000000;
    long long int mxx = 0;
    for (i = 0; i < n; i++) {
      cin >> a[i];
      if (a[i] < mini) mini = a[i];
      if (a[i] > mxx) mxx = a[i];
    }
    res = -1;
    if (mxx - mini <= k) {
      res = mini + k;
    } else if (mini + k >= mxx - k) {
      res = mini + k;
    }
    cout << res << '\n';
  }
  return 0;
}
