#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define ppb pop_back
#define ll long long int
#define rep(i,a,b) for(int i=a; i<b; ++i)
#define rrep(i,a,b) for(int i=a; i>=b; --i)
#define all(X) X.begin(), X.end()
#define rall(X) X.rbegin(), X.rend()
#define mod 1000000007
#define inf 1000000000000000003

void solve(){
    int n; cin>>n;
    vector<int> v(n);
    unordered_map<int, int> mp;
    bool f1 = true;
    rep(i,0,n){
        cin>>v[i];
        if(v[i]<0) f1=false;
        mp[v[i]]++;
    }
    if(!f1){
        cout<<"NO\n";
        return;
    }
    while(v.size()<=300){
        bool flag=true;
        for(int i=0; i<v.size() && flag; ++i){
            for(int j=i+1; j<v.size() && flag; ++j){
                int x = abs(v[i]-v[j]); 
                if(!mp[x]){
                    mp[x]++;
                    v.push_back(x);
                    flag=false;
                }
            }
        }
        if(flag) break;
    }
    if(v.size()>300) cout<<"NO\n";
    else{
        cout<<"YES\n";
        cout<<v.size()<<"\n";
        rep(i,0,v.size()) cout<<v[i]<<" ";
        cout<<"\n";
    }
}

int main(){
    ios::sync_with_stdio(NULL);
    cin.tie(NULL);
    cout.tie(NULL);
    int t;
    cin>>t;
    while(t-->0){
        solve();
    }
    return 0;
}