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) $ - 入力はすべて整数