Бинарная строка — это строка, состоящая из символов 0 и/или 1. Назовем бинарную строку чередующейся, если в ней нет двух одинаковых соседних символов. Например, строки 0, 1, 101, 0101 — чередующиеся.
Для бинарной строки определим чередующуюся $$$k$$$-раскраску следующим образом:
Например, для строки 100111 существует чередующаяся $$$3$$$-раскраска: покрасим символы $$$2$$$ и $$$6$$$ в цвет $$$1$$$, символы $$$1$$$, $$$3$$$, и $$$4$$$ в цвет $$$2$$$, а символ $$$5$$$ — в цвет $$$3$$$. Тогда для каждого из трех цветов строка, состоящая только из символов этого цвета, будет чередующаяся (для цвета $$$1$$$ это 01, для цвета $$$2$$$ — 101, для цвета $$$3$$$ — 1).
Вам дана бинарная строка $$$s$$$. Вам нужно обрабатывать запросы двух типов:
В первой строке задано одно целое число $$$n$$$ ($$$1 \le n \le 4 \cdot 10^5$$$) — длина строки $$$s$$$.
Во второй строке задана $$$s$$$ ($$$|s| = n$$$) — последовательность из $$$n$$$ символов 0 и/или 1.
В третьей строке задано одно целое число $$$q$$$ ($$$1 \le q \le 2 \cdot 10^5$$$) — количество запросов.
Далее следуют $$$q$$$ строк. Каждая из этих строк задана в одном из двух форматов:
На каждый запрос второго типа выведите одно целое число — ответ на него (минимальное $$$k$$$, для которого существует чередующаяся $$$k$$$-раскраска соответствующей строки).
81110011192 3 82 1 81 81 72 1 82 3 81 81 22 1 8
3 4 3 3 2
| Name |
|---|


