問題文
J, O, I からなる長さ N の文字列 S がある. JOI 君は文字列 S に対して,以下の操作をそれ以上操作が行えなくなるまで繰り返す.
Sの中でJ,O,Iがこの順で連続して並んでいる箇所を1つ選び,その部分をO,I,Jの並びに置き換える.
操作の繰り返しは必ず終了し,また操作の方法によらず最終的な文字列の状態が一意に定まることが証明できる.
はじめの文字列 S の情報が与えられたとき,最終的な文字列 S を求めるプログラムを作成せよ.
制約
3 ≦ N ≦ 500 000.SはJ,O,Iからなる長さNの文字列である.Nは整数である.
小課題
- (
14点)N ≦ 100. - (
27点)Nは3の倍数で,SはJOIをN / 3回繰り返したものである. - (
29点) ある整数k(2 ≦ k ≦ N) が存在して,Sの1文字目からk文字目まではすべてJであり,一方k + 1文字目以降はJでない. - (
30点) 追加の制約はない.
入力
入力は以下の形式で与えられる.NS
出力
最終的な文字列 S を 1 行で出力せよ.
入出力例
入力例 1
6
JOIJOI
出力例 1
OIOIJJ
例えば,以下のように JOI 君が操作を行うことが考えられる.
最初,S = JOIJOI である.
1文字目から3文字目に対して操作を行う.S =OIJJOIとなる.4文字目から6文字目に対して操作を行う.S =OIJOIJとなる.3文字目から5文字目に対して操作を行う.S =OIOIJJとなる.
これ以上操作を行うことはできないため,OIOIJJ を出力する.
この入力例は小課題 1,2,4 の制約を満たす.
入力例 2
8
JJJOIOIO
出力例 2
OIOIJJJO
この入力例は小課題 1,3,4 の制約を満たす.
入力例 3
20
JJOIJOIJOOIJOIIJJOIO
出力例 3
OIOIJJJJOOIOIJIOIJJO
この入力例は小課題 1,4 の制約を満たす.