#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC target("sse4")
using namespace std;
const int maxn = 200004;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t;
  cin >> t;
  while (t--) {
    long long int i, j, k, m, nr, ng, nb, l;
    long long ans = 3ll * 1e18 + 18;
    cin >> nr >> ng >> nb;
    vector<long long> r, g, b;
    for (i = 0; i < nr; i++) {
      cin >> j;
      r.push_back(j);
    }
    for (i = 0; i < ng; i++) {
      cin >> j;
      g.push_back(j);
    }
    for (i = 0; i < nb; i++) {
      cin >> j;
      b.push_back(j);
    }
    sort((r).begin(), (r).end());
    sort((b).begin(), (b).end());
    sort((g).begin(), (g).end());
    for (i = 0; i < r.size(); i++) {
      j = r[i];
      auto it = lower_bound((b).begin(), (b).end(), j);
      if (it == b.end()) it--;
      k = *it;
      it = upper_bound((g).begin(), (g).end(), k);
      if (it != g.begin()) {
        it--;
        l = *it;
        ans =
            min(ans, (j - k) * (j - k) + (k - l) * (k - l) + (j - l) * (j - l));
      }
      it = lower_bound((g).begin(), (g).end(), j);
      if (it == g.end()) it--;
      k = *it;
      it = upper_bound((b).begin(), (b).end(), k);
      if (it != b.begin()) {
        it--;
        l = *it;
        ans =
            min(ans, (j - k) * (j - k) + (k - l) * (k - l) + (j - l) * (j - l));
      }
    }
    swap(r, g);
    for (i = 0; i < r.size(); i++) {
      j = r[i];
      auto it = lower_bound((b).begin(), (b).end(), j);
      if (it == b.end()) it--;
      k = *it;
      it = upper_bound((g).begin(), (g).end(), k);
      if (it != g.begin()) {
        it--;
        l = *it;
        ans =
            min(ans, (j - k) * (j - k) + (k - l) * (k - l) + (j - l) * (j - l));
      }
      it = lower_bound((g).begin(), (g).end(), j);
      if (it == g.end()) it--;
      k = *it;
      it = upper_bound((b).begin(), (b).end(), k);
      if (it != b.begin()) {
        it--;
        l = *it;
        ans =
            min(ans, (j - k) * (j - k) + (k - l) * (k - l) + (j - l) * (j - l));
      }
    }
    swap(r, g);
    swap(r, b);
    for (i = 0; i < r.size(); i++) {
      j = r[i];
      auto it = lower_bound((b).begin(), (b).end(), j);
      if (it == b.end()) it--;
      k = *it;
      it = upper_bound((g).begin(), (g).end(), k);
      if (it != g.begin()) {
        it--;
        l = *it;
        ans =
            min(ans, (j - k) * (j - k) + (k - l) * (k - l) + (j - l) * (j - l));
      }
      it = lower_bound((g).begin(), (g).end(), j);
      if (it == g.end()) it--;
      k = *it;
      it = upper_bound((b).begin(), (b).end(), k);
      if (it != b.begin()) {
        it--;
        l = *it;
        ans =
            min(ans, (j - k) * (j - k) + (k - l) * (k - l) + (j - l) * (j - l));
      }
    }
    cout << ans << "\n";
  }
}
