#C1029. T3字符串(string)

T3字符串(string)

题目描述

有一个由 J,O,I\texttt{J}, \texttt{O}, \texttt{I} 构成的长度为 NN 的字符串 SS 。 小明要对字符串 SS 重复进行如下操作,直到无法再进行任何操作为止。

  • SS 中选择一处 J,O,I\texttt{J}, \texttt{O}, \texttt{I} 按此顺序连续排列的部分,并将该部分替换为 O,I,J\texttt{O}, \texttt{I}, \texttt{J} 的排列。

可以证明,操作的重复必定会结束,并且无论操作方式如何,最终字符串的状态都是唯一确定的。

给出初始字符串 SS 的信息时,请编写程序求出最终的字符串 SS

输入格式

在文件 string.in 中读入。

第一行一个整数N,表示字符串S的长度

第二行一个字符串S,只包含J,O,I\texttt{J}, \texttt{O}, \texttt{I}

输出格式

在文件 string.out 中输出。

将最终的字符串 SS 用一行输出。

输入输出样例 #1

输入 #1

6
JOIJOI 

输出 #1

OIOIJJ

输入输出样例 #2

输入 #2

8
JJJOIOIO

输出 #2

OIOIJJJO

输入输出样例 #3

输入 #3

20
JJOIJOIJOOIJOIIJJOIO

输出 #3

OIOIJJJJOOIOIJIOIJJO

说明/提示

样例解释

样例 11 解释

最初,S=JOIJOIS = \texttt{JOIJOI}

  • 对第 11 个字符到第 33 个字符进行操作。S=OIJJOIS = \texttt{OIJJOI}
  • 对第 44 个字符到第 66 个字符进行操作。S=OIJOIJS = \texttt{OIJOIJ}
  • 对第 33 个字符到第 55 个字符进行操作。S=OIOIJJS = \texttt{OIOIJJ}

由于无法再进行更多操作,因此输出 OIOIJJ\texttt{OIOIJJ}

该样例输入满足子任务 1,2,41, 2, 4 的约束。

样例 22 解释

该样例输入满足子任务 1,3,41, 3, 4 的约束。

样例 33 解释

该样例输入满足子任务 1,41, 4 的约束。

约束

3N5000003 \le N \le 500\,000

SS 是由 J,O,I\texttt{J}, \texttt{O}, \texttt{I} 构成的长度为 NN 的字符串。

子任务

(30 分)N100N \le 100

(70分)N500000N \le 500\,000