#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 100;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int tc;
  cin >> tc;
  while (tc--) {
    vector<int> n(3);
    for (int i = 0; i < 3; i++) cin >> n[i];
    vector<vector<int>> v(3);
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < n[i]; j++) {
        int x;
        cin >> x;
        v[i].push_back(x);
      }
      sort(v[i].begin(), v[i].end());
    }
    vector<int> perm = {0, 1, 2};
    long long ans = 4e18;
    do {
      for (int x : v[perm[0]]) {
        int idx_z = lower_bound(v[perm[1]].begin(), v[perm[1]].end(), x) -
                    v[perm[1]].begin();
        if (idx_z == v[perm[1]].size()) continue;
        int z = v[perm[1]][idx_z];
        int idx_y = upper_bound(v[perm[2]].begin(), v[perm[2]].end(), x) -
                    v[perm[2]].begin();
        idx_y--;
        if (idx_y < 0) continue;
        int y = v[perm[2]][idx_y];
        long long cur = 1ll * (x - y) * (x - y) + 1ll * (y - z) * (y - z) +
                        1ll * (x - z) * (x - z);
        ans = min(ans, cur);
      }
    } while (next_permutation(perm.begin(), perm.end()));
    cout << ans << endl;
  }
  return 0;
}
