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

#define ll long long
#define inf 1000000000000000000
#define f(i,a,b) for(int i=a;i<b;i++)
#define mod 1000000007
#define yes cout<<"YES\n";
#define no cout<<"NO\n";
#define npr(n,r) (fact[n]/fact[n-r])
#define ncr(n,r) (fact[n]/(fact[n-r]*fact[r]))
#define gcd(a,b) __gcd(a,b)
#define lcm(a,b) ((a*b)/__gcd(a,b))


int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t;
    cin>>t;
    /*while(t--){
        int n,flag=0,pp=-1,lol=0;
        ll hcf;
        cin>>n;
        ll a[n];
        f(i,0,n){
            cin>>a[i];
            if(a[i]<0){flag=1;}
            else if(a[i]==0){pp=i;flag=2;}
        }
        long long int*q=std::max_element(a,a+n);
        if(flag==1)no
        else{yes
            if(flag==2 and n==2){cout<<2<<endl<<a[0]<<" "<<a[1]<<endl;}

            else if(pp==-1){
                hcf=gcd(a[0],a[1]);
                f(i,2,n){
                    hcf=gcd(a[i],hcf);
                    if(hcf==1){lol=1;
                        cout<<a[*q]<<endl;
                        f(j,1,a[*q]+1){cout<<j<<" ";}
                        cout<<endl;
                        break;}
                }
                if(lol==0){
                    cout<<*q/hcf<<endl;
                    for(int i=hcf;i<=*q;i+=hcf)cout<<i<<" ";
                    cout<<endl;
                }
            }

            else if(pp==0){
            ll hcf=gcd(a[1],a[2]);
            f(i,3,n){
                hcf=gcd(a[i],hcf);
                if(hcf==1){lol=1;cout<<a[*q]<<endl;
                    f(j,0,a[*q]+1){cout<<j<<" ";}
                    cout<<endl;
                    break;}
                }
                if(lol==0){
                    cout<<*q/hcf+1<<endl;
                    for(int i=0;i<=*q;i+=hcf)cout<<i<<" ";
                    cout<<endl;
                }
            }

            else if(pp==1){
            ll hcf=gcd(a[0],a[2]);
            f(i,3,n){
                hcf=gcd(a[i],hcf);
                if(hcf==1){lol=1;cout<<a[*q]<<endl;
                    f(j,0,a[*q]+1){cout<<j<<" ";}
                    cout<<endl;
                    break;}
                }
                if(lol==0){
                    cout<<*q/hcf+1<<endl;
                    for(int i=0;i<=*q;i+=hcf)cout<<i<<" ";
                    cout<<endl;
                }
            }

            else{
                hcf=gcd(a[0],a[1]);
                f(i,2,n){
                    if(pp==i)continue;
                    hcf=gcd(a[i],hcf);
                    if(hcf==1){lol=1;
                        cout<<a[*q]<<endl;
                        f(j,0,a[*q]+1){cout<<j<<" ";}
                        cout<<endl;
                        break;}
                }
                if(lol==0){
                    cout<<*q/hcf+1<<endl;
                    for(int i=0;i<=*q;i+=hcf)cout<<i<<" ";
                    cout<<endl;
                }
            }

        }


    }*/
    while(t--){
        int n,flag=0;
        cin>>n;
        int a[n];
        f(i,0,n){cin>>a[i];if(a[i]<0){flag=1;cout<<"NO"; }}
        if(flag==0){yes cout<<101<<endl; f(i,0,101)cout<<i<<" ";}
        cout<<endl;
    }
}