//
// Created by SYSZY on 2022/5/1.
//
include
#include
#include
using namespace std**;
struct Comp {
int ab;
int score;
int index;
**bool operator<(const Comp &b) const {<br /> return score == b.score ? index > b.index : score < b.score**;<br /> **}<br />} ct[**200005**]**, **tmp[**200005**]**;
int n, r, q;
int main() {
int t;
cin >> t;
while (t—) {
cin >> n >> r >> q;
for (int i = 0; i < 2 * n; i++) {
ct[i].index = i + 1;
cin >> ct[i].score;
}
for (int i = 0; i < 2 * n; i++) {
cin >> ct[i].ab;
}
sort(ct, ct + 2 * n);
for (int round = 1; round <= r; round++) {
int la = 0, ra = n;
for (int i = 0; i < 2 * n; i += 2) {
if (ct[i].ab < ct[i + 1].ab) {
ct[i + 1].score++;
tmp[la] = ct[i + 1], la++;
tmp[ra] = ct[i], ra++;
} else {
ct[i].score++;
tmp[la] = ct[i], la++;
tmp[ra] = ct[i + 1], ra++;
}
}
int lb = 0, rb = n, cnt = 0;
while (lb < la && rb < ra) {
if (tmp[lb].score == tmp[rb].score) {
if (tmp[lb].index < tmp[rb].index)
ct[cnt] = tmp[lb], cnt++, lb++;
else
ct[cnt] = tmp[rb], cnt++, rb++;
} else if (ct[lb].score > ct[rb].score)
ct[cnt] = tmp[lb], cnt++, lb++;
else
ct[cnt] = tmp[rb], cnt++, rb++;
}
while (lb < la)
ct[cnt] = tmp[lb], cnt++, lb++;
while (rb < ra)
ct[cnt] = tmp[rb], cnt++, rb++;
}
cout << ct[q - 1].index << endl;
}
return 0;
**}



