Testo del problema
C'è una stringa $S$ di lunghezza $N$ composta da J, O e I. JOI-kun ripete la seguente operazione sulla stringa $S$ finché non è più possibile effettuare alcuna operazione:
- Scegliere $1$ posizione in $S$ in cui
J,OeIappaiono contiguamente in quest'ordine, e sostituire tale parte conO,IeJin quest'ordine.
Si può dimostrare che la ripetizione delle operazioni termina sempre e che lo stato finale della stringa è univocamente determinato indipendentemente da come vengono eseguite le operazioni.
Data la stringa iniziale $S$, scrivi un programma per trovare la stringa finale $S$.
Vincoli
- $3 \le N \le 500000$.
- $S$ è una stringa di lunghezza $N$ composta da
J,OeI. - $N$ è un numero intero.
Sottoproblemi
- ($14$ punti) $N \le 100$.
- ($27$ punti) $N$ è un multiplo di $3$, e $S$ è
JOIripetuto $N / 3$ volte. - ($29$ punti) Esiste un intero $k$ ($2 \le k \le N$) tale che i caratteri dal $1$° al $k$-esimo di $S$ sono tutti
J, mentre il $(k + 1)$-esimo carattere e i successivi non sonoJ. - ($30$ punti) Nessun vincolo aggiuntivo.
Input
L'input è fornito dallo Standard Input nel seguente formato:
N S
Output
Stampa sullo Standard Output, in $1$ riga, la stringa finale $S$.
Esempio
Input di esempio 1
6 JOIJOI
Output di esempio 1
OIOIJJ
Ad esempio, JOI-kun può eseguire le operazioni come segue.
Inizialmente, $S =$ JOIJOI.
- Esegue l'operazione sui caratteri dal $1$° al $3$°. Allora $S =$
OIJJOI. - Esegue l'operazione sui caratteri dal $4$° al $6$°. Allora $S =$
OIJOIJ. - Esegue l'operazione sui caratteri dal $3$° al $5$°. Allora $S =$
OIOIJJ.
Poiché non è possibile eseguire altre operazioni, stampa OIOIJJ.
Questo input di esempio soddisfa i vincoli dei Sottoproblemi $1, 2, 4$.
Input di esempio 2
8 JJJOIOIO
Output di esempio 2
OIOIJJJO
Questo input di esempio soddisfa i vincoli dei Sottoproblemi $1, 3, 4$.
Input di esempio 3
20 JJOIJOIJOOIJOIIJJOIO
Output di esempio 3
OIOIJJJJOOIOIJIOIJJO
Questo input di esempio soddisfa i vincoli dei Sottoproblemi $1, 4$.