#include using namespace std; int main(){ int N; cin >> N; vector a(N - 1); for (int i = 0; i < N - 1; i++){ cin >> a[i]; } vector> P(N - 1); for (int i = 0; i < N - 1; i++){ P[i] = make_pair(a[i], i); } sort(P.begin(), P.end()); bool ok = true; vector x(N - 1); for (int i = 0; i < N - 1; i++){ if (P[i].first > i + 1){ ok = false; } else { x[P[i].second] = i - P[i].first + 1; } } if (!ok){ cout << "NO" << endl; } else { cout << "YES" << endl; for (int i = 0; i < N - 1; i++){ cout << x[i] + 1 << endl; } } }