#include <bits/stdc++.h>
using namespace std;
long long int mod = 1000000007;
long long int max(long long int a, long long int b, long long int c) {
  return max(max(a, b), c);
}
long long int ceil1(long long int n, long long int k) {
  if (n % k) return n / k + 1;
  return n / k;
}
void solve() {
  long long int n, k, l = LONG_LONG_MIN, r = LONG_LONG_MAX;
  cin >> n >> k;
  vector<long long int> a(n);
  for (long long int i = 0; i < n; i++) {
    cin >> a[i];
    l = max(1ll, a[i] - k, l);
    r = min(r, a[i] + k);
  }
  if (l <= r) {
    cout << r << endl;
    return;
  }
  cout << -1 << endl;
  return;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  long long int q;
  cin >> q;
  while (q--) {
    solve();
  }
  return 0;
}
