#include <bits/stdc++.h>
using namespace std;
inline long long fpow(long long n, long long k, int p = 998244353) {
  long long r = 1;
  for (; k; k >>= 1) {
    if (k & 1) r = r * n % p;
    n = n * n % p;
  }
  return r;
}
inline long long inv(long long a, long long p = 998244353) {
  return fpow(a, p - 2, p);
}
inline long long addmod(long long a, long long val, long long p = 998244353) {
  {
    if ((a = (a + val)) >= p) a -= p;
  }
  return a;
}
inline long long submod(long long a, long long val, long long p = 998244353) {
  {
    if ((a = (a - val)) < 0) a += p;
  }
  return a;
}
inline long long mult(long long a, long long b, long long p = 998244353) {
  return (long long)a * b % p;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  int t;
  cin >> t;
  while (t--) {
    long long n, k;
    cin >> n >> k;
    k++;
    vector<long long> a(n + 5);
    for (long long i = 1; i <= n; i++) cin >> a[i];
    long long ans = LLONG_MAX, idx;
    queue<long long> q;
    for (int i = 1; i <= n; i++) {
      if (q.size() < k) {
        q.push(a[i]);
      } else {
        q.pop();
        q.push(a[i]);
      }
      if (q.size() != k) continue;
      long long dist = q.back() - q.front();
      if (dist < ans) {
        ans = dist;
        idx = q.front() + dist / 2;
      }
    }
    cout << idx << "\n";
  }
}
