output_description: If the objective is achievable, print `YES`; if it is unachievable, print
  `NO`.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      S
attempt: print("YNEOS"[max(L := list(map(input().count, "abc"))) > -~min(L) :: 2])
  
problem_description: Statement
  
  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.
samples: [{"input": "abac", "output": "YES\n    \n\nAs it stands now, S contains a palindrome `aba`, but we can permute the\ncharacters to get `acba`, for example, that does not contain a palindrome of\nlength 2 or more.\n\n* * *"}, {"input": "aba", "output": "NO\n    \n\n* * *"}, {"input": "babacccabab", "output": "YES"}]