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")