#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pb push_back

int n;
int a[2020];

void solve() {
    cin >> n;
    multiset<int> S;
    for(int i = 0; i < 2*n; i++) {
        cin >> a[i];
        S.insert(a[i]);
    }
    
    auto it = S.end();
    it--;
    int x1 = *it;
    S.erase(it);

    for(int x2 : S) {
        multiset<int> Q = S;
        Q.erase(Q.find(x2));
        vector<pair<int, int>> V;
        V.pb({x1, x2});
        int x = x1;
        
        while(!Q.empty()) {

            auto it = Q.end();
            it--;
            int y1 = *it;
            Q.erase(it);
            if(Q.find(x - y1) == Q.end())
                break;
            else {
                int y2 = x - y1;
                Q.erase(Q.find(y2));
                V.pb({y1, y2});
                x = max(y1, y2);
            }
        }
        if(Q.empty()) {
            cout << "YES\n" << x1+x2 << "\n";
            for(auto pair : V)
                cout << pair.first << " " << pair.second << "\n";
            return;
        }
    }
    cout << "NO\n";
}

int main() {
    ios_base::sync_with_stdio(false);
    int t;
    cin >> t;
    while(t--)
        solve();
}