#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int t,n,ans,cnt[N],a[N];
int main(){
    for(scanf("%d",&t);t--;){
        scanf("%d",&n);n=n+n;
        for(int i=1;i<=n;i++)scanf("%d",&a[i]);
        sort(a+1,a+1+n);ans=-1;
        for(int k=1;k<n;k++){
            int f=1,x=a[n];
            for(int i=1;i<n;i++)cnt[a[i]]+=i!=k;
            for(int i=n-1;i>=1;i--){
                if(!cnt[a[i]])continue;cnt[a[i]]--;
                if(!cnt[x-a[i]]){f=0;break;}
                cnt[x-a[i]]--;x=max(x-a[i],a[i]);
            }
            for(int i=1;i<=n;i++)cnt[a[i]]=0;
            if(f){ans=k;break;}
        }
        if(ans==-1){puts("NO");continue;}
        puts("YES");int x=a[n];
        for(int i=1;i<n;i++)cnt[a[i]]+=i!=ans;
        printf("%d\n%d %d\n",a[ans]+a[n],a[ans],a[n]);
        for(int i=n-1;i>=1;i--){
            if(!cnt[a[i]])continue;cnt[a[i]]--;
            if(!cnt[x-a[i]])break;
            printf("%d %d\n",a[i],x-a[i]);
            cnt[x-a[i]]--;x=max(x-a[i],a[i]);
        }
        for(int i=1;i<=n;i++)cnt[a[i]]=0;
    }
}
