#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;
using ll =  long long ;
using P = pair<int,int> ;
const int INF = 1e9;
const int MOD = 1000000007;

int main(){
    int n;
    cin >> n;
    vector<int> a(n);
    rep(i,n) cin >> a[i];
    int k = min(n,22);
    vector<bool> ans;
    int s_sum;
    bool ok = false;
    map<int,vector<bool>> sum;
    rep(bit,1<<k){
        int s = 0;
        vector<bool> flg(k,false);
        rep(i,k){
            if(bit >> i & 1){
                s += a[i];
                flg[i] = true;
            }
        }
        if(sum.find(s) == sum.end()) sum[s] = flg;
        else{
            ans = flg;
            s_sum = s;
            ok = true;
            break;
        }
    }
    if(!ok){
        cout << "No" << endl;
        return 0;
    }
    else{
        cout << "Yes" << endl;
    }

    rep(i,k){
        if(ans[i] && sum[s_sum][i]) a[i] = 0;
        else if(ans[i]);
        else if(sum[s_sum][i]) a[i] = -a[i];
        else a[i] = 0;
    }

    if(k != n){
        for(int i=k;i<n;i++) a[i] = 0;
    }

    rep(i,n) cout << a[i] << " ";
    cout << endl;

    return 0;
}