E. Счастливые запросы
ограничение по времени на тест
3 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Петя любит счастливые числа. Всем известно, что счастливыми являются положительные целые числа, в десятичной записи которых содержатся только счастливые цифры 4 и 7. Например, числа 47, 744, 4 являются счастливыми, а 5, 17, 467 — не являются.

Петя принес домой строку s длины n состоящую только из счастливых цифр. Цифры нумеруются слева направо, начиная с 1. Теперь Пете нужно выполнить m запросов следующего вида:

  • switch l r — «переключить» (заменить на противоположенные) цифры во всех позициях с индексами от l до r включительно: каждая цифра 4 меняется на 7, а каждая цифра 7 — на 4 (1 ≤ l ≤ r ≤ n);
  • count — найти и вывести на экран длину наидлиннейшей неубывающей подпоследовательности строки s.

Подпоследовательность строки s — это строка, которая получается из s путем удаления нуля или более ее элементов. Строка называется неубывающей, если каждая следующая цифра не меньше предыдущей.

Помогите Пете обработать запросы.

Входные данные

В первой строке задано два целых числа n и m (1 ≤ n ≤ 106, 1 ≤ m ≤ 3·105) — длина строки s и количество запросов соответственно. Во второй строке задано n счастливых цифр без пробелов — исходная строка Пети. В следующих m строках заданы запросы в формате, описанном в условии.

Выходные данные

Для каждого запроса count выведите в отдельной строке ответ.

Примеры
Входные данные
2 3
47
count
switch 1 2
count
Выходные данные
2
1
Входные данные
3 5
747
count
switch 1 1
count
switch 1 3
count
Выходные данные
2
3
2
Примечание

В первом примере строка s после выполнения очередных операций выглядит следующим образом (жирным выделена искомая максимальная подпоследовательность):

  1. 47
  2. 74
  3. 74
Во втором примере:
  1. 747
  2. 447
  3. 447
  4. 774
  5. 774