import sys input = sys.stdin.buffer.readline n = int(input()) A = list(map(int, input().split())) memo = [0] * (n + 1) for a in A: memo[a] += 1 capacity = 0 for i in range(n): capacity += 1 capacity -= memo[-(i + 1)] if capacity < 0: print("NO") exit() used = [0] * (n + 1) now = 2 ans = [-1] * (n - 1) kouho = [] for (idx, a) in enumerate(A): kouho.append((a, idx)) kouho.sort() for a, idx in kouho: ans[idx] = now - a now += 1 print("YES") for a in ans: print(a)