#include <bits/stdc++.h>
using namespace std;
int a[3509];
int n, t, m, k;
deque<int> d;
vector<int> v;
int main() {
  scanf("%d", &t);
  for (int i = 0; i < t; i++) {
    scanf("%d%d%d", &n, &m, &k);
    for (int j = 0; j < n; j++) scanf("%d", &a[j]);
    int g = n - m + 1;
    v.clear();
    for (int j = g - 1; j < n; j++) v.push_back(max(a[j - g + 1], a[j]));
    int vlen = v.size();
    int g2 = vlen - k;
    g2 = max(1, g2);
    d.clear();
    for (int i = 0; i < g2; i++) {
      if (!d.empty()) {
        while (!d.empty() && d.back() > v[i]) d.pop_back();
      }
      d.push_back(v[i]);
    }
    int ans = d.front();
    for (int i = g2; i < vlen; i++) {
      if (!d.empty() && d.front() == v[i - g2]) {
        d.pop_front();
      }
      while (!d.empty() && d.back() > v[i]) d.pop_back();
      d.push_back(v[i]);
      ans = max(ans, d.front());
    }
    cout << ans << '\n';
  }
  return 0;
}
