from collections import defaultdict
import copy

n = int(input())
Ao = list(map(int,input().split()))
A = copy.deepcopy(Ao)
A.sort()

visited = [0]*n
ans = defaultdict(list)

visited[0] = 1
ind = 1
for a in A:
    try:
        if visited[ind-a]:
            visited[ind] = 1
            ind += 1
            ans[a].append(ind-a)
        else:
            print("NO")
            exit()
    except IndexError:
        print("NO")
        exit()

print("YES")
for a in Ao:
    print(ans[a].pop())