#include #include #include #include using namespace std; const int MAXN = 100000 + 10; int task[MAXN], freet[MAXN]; int main() { int t, n, m; scanf("%d", &t); while (t--) { scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) { scanf("%d", &task[i]); } sort(task, task+n); int nf = 0, time = 1; memset(freet, 0, sizeof(freet)); for (int i = 0; i < n; ) { if (task[i] == time) { time++; i++; } else { freet[nf++] = time++; } } freet[nf++] = time; int ans; while (m--) { scanf("%d", &time); ans = *lower_bound(freet, freet+nf, time); printf("%d\n", ans == 0 ? time : ans); } } return 0; }