#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 ;     }   }