atcoder#ARC117C. [ARC117C] Tricolor Pyramid

[ARC117C] Tricolor Pyramid

配点: 600600

問題文

NN 個のブロックが横一列に並んでおり、それぞれのブロックは青・白・赤のうちいずれかで塗られています。 左から ii 番目 (1iN)(1 \leq i \leq N) のブロックの色は文字 cic_i で表され、B は青、W は白、R は赤に対応しています。

この状態から青・白・赤のブロックを積み上げ、NN 段のピラミッドの形にします。以下の図がその一例です。

ここでは、ブロックを下から順に、以下の規則で 11 個ずつ置いていきます。

  • 直下にある 22 個のブロックの色が同じ場合、それと同じ色のブロックを置く
  • 直下にある 22 個のブロックの色が異なる場合、そのどちらでもない色のブロックを置く

このとき、一番上のブロックはどの色になるでしょうか?

制約

  • NN2N4000002 \leq N \leq 400000 を満たす整数
  • c1,c2,,cNc_1, c_2, \dots, c_N はそれぞれ BWR のいずれか

入力

入力は以下の形式で標準入力から与えられます。

NN

c1c_1c2c_2\cdotscNc_N

出力

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

3
BWR
W

この入力例では、ブロックを以下のように積み上げることになります。

  • 一番下の段の左から 1,21, 2 番目のブロックはそれぞれ青色・白色なので、その上に赤色のブロックを置く。
  • 一番下の段の左から 2,32, 3 番目のブロックはそれぞれ白色・赤色なので、その上に青色のブロックを置く。
  • 下から 22 段目のブロックはそれぞれ赤色・青色なので,その上に白色のブロックを置く。

一番上のブロックの色は白となるため、W を出力します。

4
RRBB
W

この入力例では、ブロックを以下のように積み上げることになります。

  • 一番下の段の左から 1,21, 2 番目のブロックはそれぞれ赤色・赤色なので、その上に赤色のブロックを置く。
  • 一番下の段の左から 2,32, 3 番目のブロックはそれぞれ赤色・青色なので、その上に白色のブロックを置く。
  • 一番下の段の左から 3,43, 4 番目のブロックはそれぞれ青色・青色なので、その上に青色のブロックを置く。
  • 下から 22 段目の左から 1,21, 2 番目のブロックはそれぞれ赤色・白色なので、その上に青色のブロックを置く。
  • 下から 22 段目の左から 2,32, 3 番目のブロックはそれぞれ白色・青色なので、その上に赤色のブロックを置く。
  • 下から 33 段目のブロックはそれぞれ青色・赤色なので、その上に白色のブロックを置く。

一番上のブロックの色は白となるため、W を出力します。

6
BWWRBW
B

最終的なブロックの並びは、以下の図のように表されます。一番上のブロックの色は青となるため、B を出力します。

なお、これは問題文中に例示したケースと同じものになっています。

8
WWBRBBWB
R

最終的なブロックの並びは、以下の図のように表されます。一番上のブロックの色は赤となるため、R を出力します。

21
BWBRRBBRWBRBBBRRBWWWR
B