4
90 91 90 91
 4
54 54 54 55
 10
55 39 93 42 97 40 36 38 11 97
 3
90 39 98
 5
21 57 40 94 17
 8
46 4 30 85 52 6 84 13
 6
47 100 96 2 96 43
 4
61 28 3 81
 5
14 91 91 91 84
 3
22 23 24
 1
13
 9
13 80 13 38 98 85 11 73 74
 10
95 51 52 8 44 39 77 17 96 88
 3
40 40 40
 4
16 17 17 18
 3
68 67 67
 4
83 100 81 75
 9
71 71 70 70 71 70 69 70 71
 10
9 9 9 10 10 9 8 8 9 9
 6
87 86 86 86 85 86
 5
64 63 63 62 61
 3
76 9 12
 4
61 60 60 60
 7
23 37 39 8 72 31 85
 10
67 67 67 67 67 67 67 67 67 67
 4
92 18 29 93
 4
14 15 15 16
 10
79 84 22 38 23 22 33 42 13 96
 7
20 21 95 73 49 98 53
 10
28 61 23 73 61 33 45 55 18 43
 9
15 14 14 13 13 12 13 13 14
 5
46 46 47 46 45
 7
35 91 87 78 17 71 63
 3
69 26 73
 10
16 17 16 15 14 15 16 17 16 15
 9
95 7 97 61 90 7 30 65 39
 10
2 83 18 65 58 95 37 51 86 47
 6
59 59 60 60 59 58

YES YES NO NO NO NO NO NO NO YES YES NO NO YES YES YES NO YES YES YES YES NO YES NO YES NO YES NO NO NO YES YES NO NO YES NO NO YES
import sys
sys_in = sys.stdin

n = int(sys.stdin.readline())


def read_ints():
    return map(lambda x: int(x), sys_in.readline().split())

stacks = read_ints()


def check_ravioli(arr, n):
    for i in range(n):
        if i > 0 and abs(arr[i]-arr[i-1]) >= 2:
            return False
        elif i < n-1 and abs(arr[i] - arr[i+1]) >= 2:
            return False
    return True


def ravioli_sort(arr, n):
    if n == 0:
        return True
    if not check_ravioli(arr, n):
        return False
    m = -1
    m_idx = -1
    for i in range(n):
        if arr[i] > m:
            m = arr[i]
            m_idx = i

    arr.append(m)
    del arr[m_idx]
    return ravioli_sort(arr, n-1)


if ravioli_sort(stacks, len(stacks)):
    print "YES"
else:
    print "NO"
