Deskripsi Masalah
Saat berlatih pemrograman untuk Babak Final JOI, Anda menyadari bahwa Babak Penyisihan JOI tahun ini hanya memiliki soal-soal numerik dan tidak ada soal string. Jadi Anda memutuskan untuk diam-diam memperkuat kemampuan pada soal string agar unggul dari para pesaing Anda. Melihat soal-soal JOI terdahulu, Anda mendapati bahwa Anda perlu membiasakan diri dengan string yang terdiri dari $3$ jenis karakter J, O, dan I. Mari kita pertimbangkan string semacam itu. Anda memikirkan soal "Jawablah apakah suatu string yang diberikan memiliki JOI sebagai substring", yang langsung berhasil Anda selesaikan. Karena ingin menyelesaikan soal dengan tingkat yang lebih tinggi, Anda membuat soal berikut.
String $t$ adalah substring dari string $s$ jika $s$ dapat diperoleh dengan menambahkan sejumlah karakter ($0$ karakter juga diperbolehkan) di awal dan akhir $t$. Sebagai contoh, JJOOII adalah substring dari OJJOOIIOJOI. Sebaliknya, JOI bukan substring dari JOOI.
Selain itu, untuk bilangan bulat $k$ yang lebih besar dari atau sama dengan $0$, string-JOI level $k$ adalah string yang dibentuk dengan menyusun $k$ karakter J, $k$ karakter O, dan $k$ karakter I dalam urutan tersebut. Sebagai contoh, JJOOII adalah string-JOI level $2$.
Kita ingin mencari yang memiliki level maksimum di antara string-JOI yang merupakan substring dari string yang diberikan.
Tugas
Diberikan sebuah string $S$ dengan panjang $N$ yang terdiri dari $3$ jenis karakter J, O, dan I, buatlah program untuk mencari nilai maksimum dari $k$ sedemikian sehingga string-JOI level $k$ merupakan substring dari $S$.
Batasan
- $1 \le N \le 1000000 \ (= 10^6)$: Panjang dari $S$.
Masukan
Bacalah data berikut dari masukan standar.
- Pada baris ke-$1$, tertulis sebuah string $S$ yang terdiri dari $3$ jenis karakter
J,O, danI.
Keluaran
Keluarkan ke keluaran standar pada $1$ baris sebuah bilangan bulat yang menyatakan nilai maksimum dari $k$ sedemikian sehingga string-JOI level $k$ merupakan substring dari $S$.
Kriteria Penilaian
- Untuk $20\%$ dari poin pada data penilaian, dipenuhi $N \le 100$.
Contoh 1
Masukan
OJJOOIIOJOI
Keluaran
2
OJJOOIIOJOI memuat JJOOII, yang merupakan string-JOI level $2$, sebagai substring, dan tidak memuat string-JOI level $3$ atau lebih tinggi sebagai substring.
Contoh 2
Masukan
IJJIIJJJ
Keluaran
0
String-JOI level $0$ adalah string dengan panjang $0$.
Contoh 3
Masukan
JOIJOIJOIJOIJOI
Keluaran
1
Contoh 4
Masukan
OOJJJJJJOOOOIIIII
Keluaran
4