func_code_string: /*    Author : Prakhar Rai    */   #include<bits/stdc++.h>   #define ll long long   #define ld long double   #define LB(x,num) lower_bound(x.begin(),x.end(),num) - x.begin()   #define UB(x,num) upper_bound(x.begin(),x.end(),num) - x.begin()   #define BS(x,num) binary_search(x.begin(),x.end(),num)   #define pb push_back   #define mp make_pair   #define fs first   #define sc second   #define vci vector<int>   #define vcll vector<ll>   #define vcd vector<long double>   #define line(x) sort(x.begin(),x.end())   #define all(x) x.begin(),x.end()   #define newl   n    #define vc vector   #define loop(i,a,b) for(int i = a; i < b; i++)   #define lol(i,a,b) for(ll i = a; i < b; i++)   #define lod(i,a,b) for(ld i = 0; i < b; i++)   #define mod 1000000007   #define read(v,n) lol(i,0,n) {ll x; cin >> x; v.pb(x);}   #define run(a,x) for(auto x : a)   #define yes  YES    #define no  NO    ll cnt;   using namespace std;   // ll dp[10000000];   // memset(dp, -1, sizeof(dp));      void solve() {    ll n; cin >> n;    vcll v;    read(v, n + 2);    sort(all(v));    ll sum = 0;       lol(i, 0, n) {     sum += v[i];    }       if (sum == v[n]) {     lol(i, 0, n) {      cout << v[i] <<    ;     }     cout << newl;     return;    }       sum += v[n];       lol(i, 0, n + 1) {     if (sum - v[i] == v[n + 1]) {      lol(j, 0, n + 1) {       if (i == j) {        continue;       } else {        cout << v[j] <<    ;       }      }      cout << newl;      return;     }    }       cout << -1 << newl;    return;   }      // FILE WITH TEST CASE      void init() {   #ifndef ONLINE_JUDGGE    freopen( input.txt ,  r , stdin);    freopen( output.txt ,  w , stdout);   #endif   }      int main() {   //  init();    ios_base::sync_with_stdio(false); cin.tie(0);    int t; cin >> t;    while (t--)     solve();   }   /* This is my journey and i shall endure the work to reach the top .*/