#include<bits/stdc++.h>
using namespace std;
bool bl = 0;
bool cmp(int x, int y){
return x % 3 < y % 3;
}vector<int> v1, v2;
int n;
signed main(){
scanf("%d", &n);
while(n--){
int k;
scanf("%d", &k);
if(k % 3)
v1.push_back(k);
else
v2.push_back(k);
}if(v2.size() > v1.size() + 1){
printf("No");
return 0;
}sort(v1.begin(), v1.end(), cmp);
printf("Yes\n");
for(int i: v1){
if(i % 3 == 2)
bl = 1;
if(v2.size() > 1u or bl and v2.size()){
printf("%d ", v2.back());
v2.pop_back();
}printf("%d ", i);
}if(v2.size())
printf("%d ", v2.back());
return 0;
}