
// Problem: C. Array Destruction
// Contest: Codeforces - Codeforces Round #696 (Div. 2)
// URL: https://codeforces.com/contest/1474/problem/C
// Memory Limit: 256 MB
// Time Limit: 1000 ms
// Powered by CP Editor (https://github.com/cpeditor/cpeditor)

#include<bits/stdc++.h>
using namespace std;

#define S             second
#define F             first
#define pb            push_back
#define ppb           pop_back()
#define B(c)          (c).begin()
#define E(c)          (c).end()
#define all(c)        (c).begin(),(c).end()
#define si(c)         (int)((c).size())
#define lcm(a,b)      (a * (b / __gcd(a,b)))
#define pow(x, n)     (int)(pow(x,n))
#define lb            lower_bound
#define mp            make_pair
#define ll            long long
#define vi            vector<int>
#define vl            vector<ll>
#define pii           pair<int,int>
#define pll           pair<ll,ll>
#define vpi           vector<pii>
#define vpl           vector<pll>
#define vvi           vector<vector<int> >
#define vvl           vector<vector<ll> >
#define M_PI		  3.14159265358979323846
#define fn(i,a,b)     for(ll i=a;i<b;i++)
#define fe(i,a,b)     for(ll i=a;i<=b;i++)

vector<ll>pans(ll a[], ll n,ll x){
	multiset<ll>s;
	vl res;
	fn(i,0,n)
	s.insert(a[i]);
	fn(i,0,n/2){
	    set<ll>::iterator itr,itr2;
		itr = s.end();
		itr--;
		ll max2 = x - *itr;
		s.erase(itr);
		if(s.find(max2)==s.end())
		return {};
		 itr2 = s.find(max2);
		res.pb(x-max2);
		res.pb(max2);
		x = max(x - max2,max2);
		s.erase(itr2);
		
		
	}
	return res;
}



int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	ll t = 1;
	cin >> t;
	while (t--)
	{
		ll n,f=0;
		cin >> n;
		n=2*n;
		ll a[n];
		map<ll,ll>m;
		fn(i,0,n){
			cin >> a[i];
			m[a[i]]++;
		}
		sort(a,a+n);
		vpl ans;
		
		for(ll i=0;i<n;i++){
			ll x = a[i] + a[n-1];
			vl ans = pans(a,n,x);
			if(ans.size()){
				f=1;
				cout<<"YES"<<endl;
				cout<<x<<endl;
			for(ll j=0;j<n/2;j++){
				cout<<ans[2*j]<<" "<<ans[2*j+1]<<endl;
				}
				break;
			}
		}		
		
		if(!f)
		{
			cout<<"NO"<<endl;
		}
		


	}

}

