#include #include #include #include #include using namespace std; typedef pair P; int n; int a[100005]; P p[100005]; int ans[100005]; int main() { cin >> n; assert(n >= 2 && n <= 100000); for(int i = 1; i <= n-1; i++){ cin >> a[i]; assert(a[i] >= 1 && a[i] <= n-1); } for(int i = 1; i <= n-1; i++) p[i] = P(a[i], i); sort(p+1, p+n); for(int i = 1; i <= n-1; i++){ if(p[i].first > i){ cout << "NO" << endl; return 0; } ans[p[i].second] = (i+1) - a[p[i].second]; } cout << "YES" << endl; for(int i = 1; i <= n-1; i++) cout << ans[i] << endl; return 0; }