#include <bits/stdc++.h>

using namespace std;



#define ll long long
#define all(v) v.begin(), v.end()
#define intvect vector<int>
#define pii pair<int, int>
#define mii map<int, int>
#define fo(i, n) for (int i = 0; i < n; ++i)
#define Fo(i, k, n) for (int i = k; i < n; ++i)
#define ld long double
#define deb(x) cout << #x << " " << x << '\n';
#define pb push_back
#define pob pop_back
#define lcm(a, b) (a / __gcd(a, b) * b)
#define F first
#define S second
#define ull unsigned long long


const ll mod = 1e9 + 7;
const ll N = (ll)5e6 + 5;

void vjudge()
{
#ifndef RTE
    if (fopen("input.txt", "r"))
    {
        freopen("input.txt", "r", stdin);
        freopen("output.txt", "w", stdout);
    }
#endif
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}

void solve()
{
    int n;
    cin>>n;
    vector<int> num(n,0);
    set<int> s;
    for(int i=0;i<n;i++)
    {
        cin>>num[i];
        
    }
    sort(num.begin(),num.end());
    if(num[0]<0)
    cout<<"NO\n";
    else
    {
        cout<<"YES\n";

        int maxi=num[n-1];
        cout<<maxi+1<<"\n";
        for(int i=0;i<=maxi;i++)
        {
            cout<<i<<" ";
        }
        cout<<"\n";
        
    }
    
    
    
    
}

int32_t main()
{
    vjudge();
    int t = 1;
    cin >> t;
    while (t--)
        solve();
}
