#include <bits/stdc++.h>
#define ll long long
using namespace std;
int t, n, m;
int a[2010];
int ma[1000010], ma1[1000010];
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	cin >> t;
	while(t--){
		int x, ans, flag = 0;
		cin >> n;
		for(int i = 1; i <= n * 2; i++){
			cin >> a[i];
			ma[a[i]]++;
			ma1[a[i]]++;
		} 
		 
		sort(a + 1, a + 1 + 2 * n);
		for(int i = 2 * n - 1; i >= 1; i--){
			x = a[2 * n] + a[i];
			ma[a[i]]--;
			ma[a[2 * n]]--;
			int temp = a[2 * n];
			for(int j = 2 * n - 1; j >= 1; j--){
				if(j == 1){
					flag = 1;
					ans = i;
					break;
				}
				if(j == i || ma[a[j]] == 0) continue;
				ma[a[j]]--;
				if(ma[temp - a[j]] > 0){
					ma[temp - a[j]]--;
					temp = a[j];
				}
				else break;
			}
			for(int i = 1; i <= n * 2; i++){
			ma[a[i]] = ma1[a[i]];
		}
			if(flag == 1){
				printf("YES\n");
				printf("%d\n%d %d\n", x, a[2 * n], a[ans]);
				int temp = a[2 * n];
				ma[a[ans]]--;
				ma[a[2 * n]]--;
				for(int j = 2 * n - 1; j >= 1; j--){
				if(j == ans || ma[a[j]] == 0) continue;
				ma[a[j]]--;
				if(ma[temp - a[j]] > 0){
					printf("%d %d\n", a[j], temp - a[j]);
					
					
					ma[temp - a[j]]--;
					temp = a[j];
				}
			}
				break;
			} 
		}
		if(flag == 0) printf("NO\n");
		for(int i = 1; i <= n * 2; i++){
			ma[a[i]] = 0;
			ma1[a[i]] = 0;
		}
	}
	return 0;
}