def solve(N, A):
    SA = sorted(enumerate(A), key=lambda x: -x[1])
    ans = [None] * (N - 1)
    for j, (i, a) in enumerate(SA):
        ans[i] = N - j - a
        if ans[i] <= 0:
            return None
    return ans


N = int(input())
A = tuple(map(int, input().split()))
ans = solve(N, A)
if ans is None:
    print("NO")
else:
    print("YES")
    print(*ans, sep="\n")