#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, q;
  cin >> q;
  while (--q >= 0) {
    int n, k;
    cin >> n >> k;
    int a[n + 1];
    for (i = 0; i < n; i++) {
      cin >> a[i];
    }
    long long min = LONG_MIN, max = LONG_MAX;
    for (i = 0; i < n; i++) {
      long long x = a[i] - k;
      long long y = a[i] + k;
      if (x > min) {
        min = x;
      }
      if (y < max) {
        max = y;
      }
    }
    if (min <= max) {
      cout << max << endl;
    } else {
      cout << -1 << endl;
    }
  }
  return 0;
}
