Yaroslav has an array that consists of *n* integers. In one second Yaroslav can swap two neighboring array elements. Now Yaroslav is wondering if he can obtain an array where any two neighboring elements would be distinct in a finite time.

Help Yaroslav.
The first line contains integer *n* (1 ≤ *n* ≤ 100) — the number of elements in the array. The second line contains *n* integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 1000) — the array elements.
n = int(input())
myList = input().split()
counter = 0
counter2 = 0
if len(myList) == 1 :
    print("YES")
else:
    for i in range(0 , len(myList)) :
        if i == n -1 :
            break
        else:
            if myList[i] == myList[i + 1] :
                counter2+=1
                for j in range (i + 1 , n) :
                    if myList[j] != myList[i + 1] :
                        print("YES")
                        counter+=1
                        break
                    else :
                        if  j == myList[-1] :
                            break
            else:
                continue
        if counter > 0 :
            break
    if counter2 == 0 :
        print("YES")
    elif counter == 0  :
        print("NO")