#include <bits/stdc++.h>
using namespace std;
void solve() {
  int n, m, k;
  cin >> n >> m >> k;
  vector<int> a(n);
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
  }
  vector<int> vals;
  int have = m - 1;
  for (int i = 0; i <= have; ++i) {
    int lft = i;
    int rt = have - i;
    int idx1 = lft;
    int idx2 = n - 1 - rt;
    vals.push_back(max(a[idx1], a[idx2]));
  }
  k = min(k, m - 1);
  int res = 0;
  for (int i = 0; i <= k; ++i) {
    int lft = i, rt = k - i;
    int tleft = m - 1 - k;
    int lrange = lft, rrange = lft + tleft;
    int mn = 1e9 + 10;
    for (int j = lrange; j <= rrange; ++j) {
      mn = min(mn, vals[j]);
    }
    res = max(res, mn);
  }
  cout << res << endl;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  int t;
  cin >> t;
  for (int tt = 0; tt < t; ++tt) {
    solve();
  }
  return 0;
}
