#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; }