AT_arc117_c [ARC117C] Tricolor Pyramid

Description

[problemUrl]: https://atcoder.jp/contests/arc117/tasks/arc117_c $ N $ 個のブロックが横一列に並んでおり、それぞれのブロックは青・白・赤のうちいずれかで塗られています。 左から $ i $ 番目 $ (1\ \leq\ i\ \leq\ N) $ のブロックの色は文字 $ c_i $ で表され、`B` は青、`W` は白、`R` は赤に対応しています。 この状態から青・白・赤のブロックを積み上げ、$ N $ 段のピラミッドの形にします。以下の図がその一例です。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_arc117_c/f795a525a74e48b7e43010cb259b0e9d82262039.png) ここでは、ブロックを下から順に、以下の規則で $ 1 $ 個ずつ置いていきます。 - 直下にある $ 2 $ 個のブロックの色が同じ場合、それと同じ色のブロックを置く - 直下にある $ 2 $ 個のブロックの色が異なる場合、そのどちらでもない色のブロックを置く このとき、一番上のブロックはどの色になるでしょうか?

Input Format

入力は以下の形式で標準入力から与えられます。 > $ N $ $ c_1 $$ c_2 $$ \cdots $$ c_N $

Output Format

一番上のブロックの色が青ならば `B`、白ならば `W`、赤ならば `R` を出力してください。

Explanation/Hint

### 制約 - $ N $ は $ 2\ \leq\ N\ \leq\ 400000 $ を満たす整数 - $ c_1,\ c_2,\ \dots,\ c_N $ はそれぞれ `B`,`W`,`R` のいずれか ### Sample Explanation 1 この入力例では、ブロックを以下のように積み上げることになります。 - 一番下の段の左から $ 1,\ 2 $ 番目のブロックはそれぞれ青色・白色なので、その上に赤色のブロックを置く。 - 一番下の段の左から $ 2,\ 3 $ 番目のブロックはそれぞれ白色・赤色なので、その上に青色のブロックを置く。 - 下から $ 2 $ 段目のブロックはそれぞれ赤色・青色なので,その上に白色のブロックを置く。 一番上のブロックの色は白となるため、`W` を出力します。 ### Sample Explanation 2 この入力例では、ブロックを以下のように積み上げることになります。 - 一番下の段の左から $ 1,\ 2 $ 番目のブロックはそれぞれ赤色・赤色なので、その上に赤色のブロックを置く。 - 一番下の段の左から $ 2,\ 3 $ 番目のブロックはそれぞれ赤色・青色なので、その上に白色のブロックを置く。 - 一番下の段の左から $ 3,\ 4 $ 番目のブロックはそれぞれ青色・青色なので、その上に青色のブロックを置く。 - 下から $ 2 $ 段目の左から $ 1,\ 2 $ 番目のブロックはそれぞれ赤色・白色なので、その上に青色のブロックを置く。 - 下から $ 2 $ 段目の左から $ 2,\ 3 $ 番目のブロックはそれぞれ白色・青色なので、その上に赤色のブロックを置く。 - 下から $ 3 $ 段目のブロックはそれぞれ青色・赤色なので、その上に白色のブロックを置く。 一番上のブロックの色は白となるため、`W` を出力します。 ### Sample Explanation 3 最終的なブロックの並びは、以下の図のように表されます。一番上のブロックの色は青となるため、`B` を出力します。 !\[ \](https://img.atcoder.jp/arc117/333af8ef18ae0a6ce966c46492cb07e6.png) なお、これは問題文中に例示したケースと同じものになっています。 ### Sample Explanation 4 最終的なブロックの並びは、以下の図のように表されます。一番上のブロックの色は赤となるため、`R` を出力します。 !\[ \](https://img.atcoder.jp/arc117/36a2a6777ac49fa0bb43440de385dced.png)