Snuke has a string S consisting of three kinds of letters: `a`, `b` and `c`.

He has a phobia for palindromes, and wants to permute the characters in S so that S will not contain a palindrome of length 2 or more as a substring. Determine whether this is possible.

Constraints

* 1 \leq |S| \leq 10^5
* S consists of `a`, `b` and `c`.

Input

Input is given from Standard Input in the following format:


S


Output

If the objective is achievable, print `YES`; if it is unachievable, print `NO`.

Examples

Input

abac


Output

YES


Input

aba


Output

NO


Input

babacccabab


Output

YES
s = input()
a, b, c = 0, 0, 0
for i in s:
    if i == 'a':
        a += 1
    elif i == 'b':
        b += 1
    else:
        c += 1

flag = True
if (a + b == 0) or (b + c == 0) or (c + a == 0):
    if a + b + c != 1:
        flag = False
elif a * b * c == 0:
    if a + b + c != 2:
        flag = False
else:
    mn = min(a, b, c)
    mx = max(a, b, c)
    if mx - mn > 1:
        flag = False

print('YES' if flag else 'NO')
