#arc136a. [arc136_a]A ↔ BB

[arc136_a]A ↔ BB

問題文

A, B, C からなる長さ NN の文字列 SS が与えられます.

あなたは,SS に対して以下の 22 種類の操作を好きな順序で好きな回数行うことができます.

  • SS の中で A を選び,消す. 文字を消した位置に,新たに BB を書き込む.
  • SS の中で隣接する 22 文字であって,BB となっているものを選び,消す. 文字を消した位置に,新たに A を書き込む.

操作を終えたあとの SS としてあり得る文字列のうち,辞書順最小のものを求めてください.

辞書順とは?

辞書順とは簡単に説明すると「単語が辞書に載っている順番」を意味します。より厳密な説明として、相異なる文字列 SS と文字列 TT の大小を判定するアルゴリズムを以下に説明します。

以下では SSii 文字目の文字を SiS_i のように表します。また、 SSTT より辞書順で小さい場合は SltTS \\lt T 、大きい場合は SgtTS \\gt T と表します。

  1. SSTT のうち長さが短い方の文字列の長さを LL とします。i=1,2,dots,Li=1,2,\\dots,L に対して SiS_iTiT_i が一致するか調べます。
  2. SineqTiS_i \\neq T_i である ii が存在する場合、そのような ii のうち最小のものを jj とします。そして、SjS_jTjT_j を比較して、 SjS_j がアルファベット順で TjT_j より小さい場合は SltTS \\lt T 、大きい場合は SgtTS \\gt T と決定して、アルゴリズムを終了します。
  3. SineqTiS_i \\neq T_i である ii が存在しない場合、 SSTT の長さを比較して、SSTT より短い場合は SltTS \\lt T 、長い場合は SgtTS \\gt T と決定して、アルゴリズムを終了します。

制約

  • 1leqNleq2000001 \\leq N \\leq 200000
  • SSA, B, C からなる長さ NN の文字列

入力

入力は以下の形式で標準入力から与えられる.

NN SS

出力

答えを出力せよ.


入力例 1

4
CBAA

出力例 1

CAAB

以下のように操作すればよいです.

  • 最初,S=S=CBAA である.
  • SS33 文字目の A を消し,BB を書き込む.S=S=CBBBA となる.
  • SS2,32,3 文字目の BB を消し,A を書き込む.S=S=CABA となる.
  • SS44 文字目の A を消し,BB を書き込む.S=S=CABBB となる.
  • SS3,43,4 文字目の BB を消し,A を書き込む.S=S=CAAB となる.

SSCAAB より辞書順で小さい文字列にすることはできません. よって答えは CAAB になります.


入力例 2

1
A

出力例 2

A

一度も操作を行いません.


入力例 3

6
BBBCBB

出力例 3

ABCA