#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int t;
  cin >> t;
  while (t--) {
    long long n1, n2, n3;
    cin >> n1 >> n2 >> n3;
    vector<long long> a, b, c;
    for (long long i = (0); i < (n1); i++) {
      long long m;
      cin >> m;
      a.push_back(m);
    }
    for (long long i = (0); i < (n2); i++) {
      long long m;
      cin >> m;
      b.push_back(m);
    }
    for (long long i = (0); i < (n3); i++) {
      long long m;
      cin >> m;
      c.push_back(m);
    }
    sort(a.begin(), a.end());
    sort(b.begin(), b.end());
    sort(c.begin(), c.end());
    long long ans = 9e18L;
    long long fans = 9e18L;
    for (long long i = (0); i < (n1); i++) {
      long long x = a[i];
      long long yi = lower_bound(b.begin(), b.end(), x) - b.begin();
      long long zi = upper_bound(c.begin(), c.end(), x) - c.begin();
      zi--;
      if (zi >= 0 && zi < n3 && yi >= 0 && yi < n2) {
        long long y = b[yi];
        long long z = c[zi];
        ans = (x - y) * (x - y) + (x - z) * (x - z) + (z - y) * (z - y);
        fans = min(fans, ans);
      }
    }
    for (long long i = (0); i < (n1); i++) {
      long long x = a[i];
      long long yi = upper_bound(b.begin(), b.end(), x) - b.begin();
      long long zi = lower_bound(c.begin(), c.end(), x) - c.begin();
      yi--;
      if (zi >= 0 && zi < n3 && yi >= 0 && yi < n2) {
        long long y = b[yi];
        long long z = c[zi];
        ans = (x - y) * (x - y) + (x - z) * (x - z) + (z - y) * (z - y);
        fans = min(fans, ans);
      }
    }
    for (long long i = (0); i < (n2); i++) {
      long long x = b[i];
      long long yi = lower_bound(a.begin(), a.end(), x) - a.begin();
      long long zi = upper_bound(c.begin(), c.end(), x) - c.begin();
      zi--;
      if (zi >= 0 && zi < n3 && yi >= 0 && yi < n1) {
        long long y = a[yi];
        long long z = c[zi];
        ans = (x - y) * (x - y) + (x - z) * (x - z) + (z - y) * (z - y);
        fans = min(fans, ans);
      }
    }
    for (long long i = (0); i < (n2); i++) {
      long long x = b[i];
      long long yi = upper_bound(a.begin(), a.end(), x) - a.begin();
      long long zi = lower_bound(c.begin(), c.end(), x) - c.begin();
      yi--;
      if (zi >= 0 && zi < n3 && yi >= 0 && yi < n1) {
        long long y = a[yi];
        long long z = c[zi];
        ans = (x - y) * (x - y) + (x - z) * (x - z) + (z - y) * (z - y);
        fans = min(fans, ans);
      }
    }
    for (long long i = (0); i < (n3); i++) {
      long long x = c[i];
      long long yi = upper_bound(b.begin(), b.end(), x) - b.begin();
      long long zi = lower_bound(a.begin(), a.end(), x) - a.begin();
      yi--;
      if (zi >= 0 && zi < n1 && yi >= 0 && yi < n2) {
        long long y = b[yi];
        long long z = a[zi];
        ans = (x - y) * (x - y) + (x - z) * (x - z) + (z - y) * (z - y);
        fans = min(fans, ans);
      }
    }
    for (long long i = (0); i < (n3); i++) {
      long long x = c[i];
      long long yi = lower_bound(b.begin(), b.end(), x) - b.begin();
      long long zi = upper_bound(a.begin(), a.end(), x) - a.begin();
      zi--;
      if (zi >= 0 && zi < n1 && yi >= 0 && yi < n2) {
        long long y = b[yi];
        long long z = a[zi];
        ans = (x - y) * (x - y) + (x - z) * (x - z) + (z - y) * (z - y);
        fans = min(fans, ans);
      }
    }
    cout << fans << "\n";
  }
}
