#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>

const ll _INF = 1e18;

int main() {
    int t; cin >> t;
    while (t--){
        int n, m, k;
        cin >> n >> m >> k;
        vector<ll>v(n), b(m), c(k);
        ll mx = 0, ct = 0;
        for (int i = 0 ; i < n; i++) {
            cin >> v[i];
            if (i) {
                if (v[i]-v[i-1] == mx) ct++;
                else if (v[i] - v[i-1] > mx ) ct = 1;
                mx = max(mx, v[i]-v[i-1]);
            }
        }
        for (int i = 0; i < m; i++) cin >> b[i];
        for (int i = 0; i < k; i++) cin >> c[i];
        
        if (ct > 1) cout << mx << endl;
        else {
            ll src, ndm=0;
            for (int i = 1; i < n; i++) {
                if (v[i] - v[i-1] == mx) {
                    src = i;
                }
                else ndm = max(ndm, v[i]-v[i-1]);
            }
            sort(b.begin(), b.end());
            sort(c.begin(), c.end());
            ll sl = _INF;
            for (int i = 0; i < m; i++) {
                int lb = upper_bound(c.begin(), c.end(), (v[src]+v[src-1])/2-b[i])-c.begin();
                sl = min(sl, max(abs(v[src-1]-b[i]-c[lb]), abs(v[src]-b[i]-c[lb])));
                lb -= 1;
                if (lb == -1) continue;
                sl = min(sl, max(abs(v[src-1]-b[i]-c[lb]), abs(v[src]-b[i]-c[lb])));
            }
            cout << min(mx, max(ndm, sl)) << endl;
        }
    }
}