#include <bits/stdc++.h>
#include <set>
// #include<ext/pb_ds/assoc_container.hpp>
// #include<ext/pb_ds/tree_policy.hpp>
//
// using namespace __gnu_pbds;
using namespace std;
void fileIO() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
void fastIO() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
}
// typedef tree<int, null_type, greater_equal<long long>, rb_tree_tag, tree_order_statistics_node_update> orderedSet;
// //less => min to max , less_equal => min to max and repeated (and order_of_key method give no.of elements smaller than
// //greater => max to min , greater_equal => max to min and repeated (order_of_key method give no.of elements bigger than
// void Erase(orderedSet &s, int val){
// int rank = s.order_of_key(val);
// auto it = s.find_by_order(rank);
// s.erase(it);
// }
#define tests int t; cin>>t; for(int l = 0;l < (t); l++)
#define loop(n) for(int i = 0; i < (n); i++)
#define lop(n) for(int g = 1; g <= (n); g++)
#define lp(n) for(int j = 0; j < (n); j++)
#define ll long long
#define endl '\n'
signed main() {
fastIO();
fileIO();
tests
{
int n , m , q; cin >> n >> m >> q;
vector<int> teachers(m);
loop (m) {
cin >> teachers[m];
}
sort(teachers.begin() , teachers.end());
loop (q) {
int a ; cin >> a;
if (a<teachers[0])
cout << teachers[0]-1 << endl;
else if (a>teachers[m-1])
cout << n-teachers[m-1] << endl;
else {
int r = upper_bound(teachers.begin() , teachers.end() , a ) - teachers.begin();
cout << (teachers[r]-teachers[r-1])/2 << endl;
}
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxzZXQ+Ci8vICNpbmNsdWRlPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgovLyAjaW5jbHVkZTxleHQvcGJfZHMvdHJlZV9wb2xpY3kuaHBwPgovLwovLyB1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdm9pZCBmaWxlSU8oKSB7CiNpZm5kZWYgT05MSU5FX0pVREdFCglmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKCWZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgp9CnZvaWQgZmFzdElPKCkgewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKG51bGxwdHIpOwoJY291dC50aWUobnVsbHB0cik7Cn0KLy8gdHlwZWRlZiB0cmVlPGludCwgbnVsbF90eXBlLCBncmVhdGVyX2VxdWFsPGxvbmcgbG9uZz4sIHJiX3RyZWVfdGFnLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+IG9yZGVyZWRTZXQ7Ci8vIC8vbGVzcyA9PiBtaW4gdG8gbWF4ICAsIGxlc3NfZXF1YWwgPT4gbWluIHRvIG1heCBhbmQgcmVwZWF0ZWQgKGFuZCBvcmRlcl9vZl9rZXkgbWV0aG9kIGdpdmUgbm8ub2YgZWxlbWVudHMgc21hbGxlciB0aGFuCi8vIC8vZ3JlYXRlciA9PiBtYXggdG8gbWluICwgZ3JlYXRlcl9lcXVhbCA9PiBtYXggdG8gbWluIGFuZCByZXBlYXRlZCAob3JkZXJfb2Zfa2V5IG1ldGhvZCBnaXZlIG5vLm9mIGVsZW1lbnRzIGJpZ2dlciB0aGFuCi8vIHZvaWQgRXJhc2Uob3JkZXJlZFNldCAmcywgaW50IHZhbCl7Ci8vICAgICBpbnQgcmFuayA9IHMub3JkZXJfb2Zfa2V5KHZhbCk7Ci8vICAgICBhdXRvIGl0ID0gcy5maW5kX2J5X29yZGVyKHJhbmspOwovLyAgICAgcy5lcmFzZShpdCk7Ci8vIH0KCiNkZWZpbmUgdGVzdHMgICAgICAgICAgaW50IHQ7IGNpbj4+dDsgZm9yKGludCBsID0gMDtsICA8ICh0KTsgbCsrKQojZGVmaW5lIGxvb3AobikgICAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IChuKTsgaSsrKQojZGVmaW5lIGxvcChuKSAgICAgICAgICBmb3IoaW50IGcgPSAxOyBnIDw9IChuKTsgZysrKQojZGVmaW5lIGxwKG4pICAgICAgICAgICBmb3IoaW50IGogPSAwOyBqIDwgKG4pOyBqKyspCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZW5kbCAnXG4nCgpzaWduZWQgbWFpbigpIHsKCWZhc3RJTygpOwoJZmlsZUlPKCk7Cgl0ZXN0cwoJewoJCWludCBuICwgbSAsIHE7IGNpbiA+PiBuID4+IG0gPj4gcTsKCQl2ZWN0b3I8aW50PiB0ZWFjaGVycyhtKTsKCQlsb29wIChtKSB7CgkJCWNpbiA+PiB0ZWFjaGVyc1ttXTsKCQl9CgkJc29ydCh0ZWFjaGVycy5iZWdpbigpICwgdGVhY2hlcnMuZW5kKCkpOwoJCWxvb3AgKHEpIHsKCQkJaW50IGEgOyBjaW4gPj4gYTsKCQkJaWYgKGE8dGVhY2hlcnNbMF0pCgkJCQljb3V0IDw8IHRlYWNoZXJzWzBdLTEgPDwgZW5kbDsKCQkJZWxzZSBpZiAoYT50ZWFjaGVyc1ttLTFdKQoJCQkJY291dCA8PCBuLXRlYWNoZXJzW20tMV0gPDwgZW5kbDsKCQkJZWxzZSB7CgkJCQlpbnQgciA9IHVwcGVyX2JvdW5kKHRlYWNoZXJzLmJlZ2luKCkgLCB0ZWFjaGVycy5lbmQoKSAsIGEgKSAtIHRlYWNoZXJzLmJlZ2luKCk7CgkJCQljb3V0IDw8ICh0ZWFjaGVyc1tyXS10ZWFjaGVyc1tyLTFdKS8yIDw8IGVuZGw7CgkJCX0KCQl9CiAgIH0KfQo=