AT_joi2027_yo1a_e JOI ブロック (JOI Block)

Description

`J`, `O`, `I`, `G` からなる,空でない文字列 $ S $ が与えられる. 文字列 $ T $ が空文字列で初期化されている.次の操作を好きな回数行うことで $ T=S $ とすることができるか判定せよ. - $ T $ の末尾に `JOI`,`IOI`,`JOIG` のいずれかを追加する.

Input Format

入力は以下の形式で与えられる. > $ S $

Output Format

$ T=S $ とすることができる場合は `Yes` ,できない場合は `No` を出力せよ. 答え以外は何も出力しないこと.(入力を促す文章なども出力しないこと.) 解答形式については,[練習問題やその解答例](https://atcoder.jp/contests/joi2027-practice)を参考にしても良い.

Explanation/Hint

### 小課題 1. ( $ 20 $ 点) $ S $ は `O`, `I` からなる文字列である. 2. ( $ 20 $ 点) $ S $ は `J`, `O`, `I` からなる文字列である. 3. ( $ 20 $ 点) $ S $ の長さは $ 20 $ 以下である. 4. ( $ 40 $ 点) 追加の制約はない. ### Sample Explanation 1 $ T $ の末尾に `JOI`, `JOIG`, `IOI` をこの順に追加することで, $ T=S $ とすることができる. この入力例は小課題 $ 3, 4 $ の制約を満たす. ### Sample Explanation 2 $ T $ の長さを $ 5 $ にすることはできないため, $ T=S $ とすることはできない. この入力例はすべての小課題の制約を満たす. ### Sample Explanation 3 この入力例は小課題 $ 2, 3, 4 $ の制約を満たす. ### Sample Explanation 4 この入力例は小課題 $ 3, 4 $ の制約を満たす. ### Constraints - $ S $ の長さは $ 1 $ 以上 $ 100\,000 $ 以下である. - $ S $ の各文字は `J`, `O`, `I`, `G` のいずれかである.