Умова задачі
Тренуючись у програмуванні перед фінальним етапом JOI, ви помітили, що у відбірковому етапі JOI цього року були лише числові задачі й жодної задачі на рядки. Тому ви вирішили таємно покращити свої навички у рядкових задачах, щоб випередити суперників. Переглядаючи минулі задачі JOI, ви зрозуміли, що варто звикнути до рядків, які складаються з $3$ видів символів: J, O та I. Розгляньмо такі рядки. Ви придумали задачу «Дайте відповідь, чи містить заданий рядок JOI як підрядок», яку одразу ж розв'язали. Бажаючи розв'язати задачу вищого рівня, ви склали наступну задачу.
Рядок $t$ називається підрядком рядка $s$, якщо $s$ можна отримати, дописавши деяку кількість символів ($0$ символів також дозволяється) на початок і в кінець рядка $t$. Наприклад, JJOOII є підрядком OJJOOIIOJOI. З іншого боку, JOI не є підрядком JOOI.
Крім того, для цілого числа $k$, більшого або рівного $0$, JOI-рядком рівня $k$ називається рядок, утворений записом поспіль $k$ символів J, $k$ символів O та $k$ символів I у цьому порядку. Наприклад, JJOOII — це JOI-рядок рівня $2$.
Ми хочемо знайти рядок із максимальним рівнем серед усіх JOI-рядків, які є підрядками заданого рядка.
Завдання
Задано рядок $S$ довжини $N$, що складається з $3$ видів символів J, O та I. Напишіть програму, яка знаходить максимальне значення $k$, за якого JOI-рядок рівня $k$ є підрядком $S$.
Обмеження
- $1 \le N \le 1000000 \ (= 10^6)$: довжина рядка $S$.
Вхідні дані
Зчитайте такі дані зі стандартного потоку введення.
- У $1$-му рядку записано рядок $S$, що складається з $3$ видів символів
J,OтаI.
Вихідні дані
Виведіть у стандартний потік виведення в $1$ рядку ціле число — максимальне значення $k$, за якого JOI-рядок рівня $k$ є підрядком $S$.
Підзадачі
- Для $20\%$ балів у тестових даних виконується $N \le 100$.
Приклад 1
Введення
OJJOOIIOJOI
Виведення
2
OJJOOIIOJOI містить JJOOII, тобто JOI-рядок рівня $2$, як підрядок, і не містить жодного JOI-рядка рівня $3$ або вище як підрядка.
Приклад 2
Введення
IJJIIJJJ
Виведення
0
JOI-рядок рівня $0$ — це рядок довжини $0$.
Приклад 3
Введення
JOIJOIJOIJOIJOI
Виведення
1
Приклад 4
Введення
OOJJJJJJOOOOIIIII
Виведення
4