AT_abc349_b [ABC349B] Commencement

Description

[problemUrl]: https://atcoder.jp/contests/abc349/tasks/abc349_b 英小文字からなる文字列 $ S $ が**良い文字列**であるとは、すべての $ 1 $ 以上の整数 $ i $ について次の性質が成り立つことであるとします。 - $ S $ にちょうど $ i $ 回現れる文字はちょうど $ 0 $ 種類またはちょうど $ 2 $ 種類ある 文字列 $ S $ が与えられるので、 $ S $ が良い文字列か判定してください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ S $

Output Format

$ S $ が良い文字列ならば `Yes` を、そうでないならば `No` を出力せよ。

Explanation/Hint

### 制約 - $ S $ は英小文字からなる長さ $ 1 $ 以上 $ 100 $ 以下の文字列 ### Sample Explanation 1 文字列 `commencement` にちょうど $ i $ 回現れる文字の種類数は以下のとおりです。 - $ i=1 $: `o`, `t` の $ 2 $ 種類 - $ i=2 $: `c`, `n` の $ 2 $ 種類 - $ i=3 $: `e`, `m` の $ 2 $ 種類 - $ i\geq\ 4 $: $ 0 $ 種類 よって、`commencement` は良い文字列の条件を満たします。 ### Sample Explanation 2 文字列 `banana` にちょうど $ 1 $ 回現れる文字は `b` の $ 1 $ 種類だけであり、良い文字列の条件を満たしません。