AT_arc192_a [ARC192A] ARC Arc
Description
正整数 $ N $ と、長さ $ N $ の $ 0 $ または $ 1 $ からなる数列 $ A=(A_1,A_2,\dots,A_N) $ が与えられます。
長さ $ N $ の英大文字のみからなる文字列 $ S $ であって、以下の操作を $ 0 $ 回以上好きな回数行うことで $ A $ に $ 0 $ が含まれないようにできるものを **良い文字列** と呼びます。ここで、 $ S_i $ $ (1\leq i\leq N) $ で $ S $ の $ i $ 文字目を表し、 $ S_{N+1}=S_1,S_{N+2}=S_2,A_{N+1}=A_1 $ とします。
- 次のうちどちらかを選び、実行する。
- $ 1\leq i\leq N $ なる整数 $ i $ であって $ S_i= $ `A`、 $ S_{i+1}= $ `R`、 $ S_{i+2}= $ `C` となるものを選び、 $ A_i,A_{i+1} $ を $ 1 $ に置き換える。
- $ 1\leq i\leq N $ なる整数 $ i $ であって $ S_{i+2}= $ `A`、 $ S_{i+1}= $ `R`、 $ S_i= $ `C` となるものを選び、 $ A_i,A_{i+1} $ を $ 1 $ に置き換える。
良い文字列が存在するか判定してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $
Output Format
良い文字列が存在するならば `Yes` と、存在しないならば `No` と出力せよ。
正誤判定器は大文字と小文字を区別せず、どちらも受理する。例えば、答えが `Yes` となるときに `yes` や `YES`、`yEs` などと出力しても正解と判定される。
Explanation/Hint
### Sample Explanation 1
例えば `RARCARCCRAGC` は良い文字列です。以下のように操作することで、 $ A $ の全ての要素を $ 1 $ にすることが可能であるからです。
- はじめ、 $ A=(0,1,0,1,1,1,1,0,1,1,1,0) $ である。
- $ i=2 $ として前者の操作をする。 $ A=(0,1,1,1,1,1,1,0,1,1,1,0) $ となる。
- $ i=5 $ として前者の操作をする。 $ A=(0,1,1,1,1,1,1,0,1,1,1,0) $ となる。
- $ i=8 $ として後者の操作をする。 $ A=(0,1,1,1,1,1,1,1,1,1,1,0) $ となる。
- $ i=12 $ として後者の操作をする。 $ A=(1,1,1,1,1,1,1,1,1,1,1,1) $ となる。
良い文字列が存在するので、`Yes` と出力してください。
### Sample Explanation 2
良い文字列は存在しません。
### Sample Explanation 3
操作するまでもなく $ A $ に $ 0 $ は含まれていないので、英大文字からなる長さ $ 29 $ の文字列はすべて良い文字列です。
### Constraints
- $ 3\leq N\leq 200000 $
- $ A_i\in \lbrace 0,1 \rbrace $ $ (1\leq i\leq N) $
- 入力はすべて整数