eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Перестановки strike back

Перестановки strike back

Вася выписал на доске в каком-то порядке все числа от \textbf{1} по \textbf{N}, каждое число ровно по одному разу. Иногда он стирает какое-то число и записывает на его место другое. Количество чисел, выписанных Васей, оказалось довольно большим, поэтому Вася не может окинуть взглядом все числа. Однако ему надо всё-таки представлять эту последовательность, поэтому он написал программу, которая в любой момент отвечает на вопрос --- сколько среди чисел, стоящих на позициях с \textbf{x} по \textbf{y}, по величине лежат в интервале от \textbf{k} до \textbf{l}. Сделайте то же самое. \InputFile В первой строке лежит два натуральных числа --- \textbf{1} ≤ \textbf{N} ≤ \textbf{100000} --- количество чисел, которые выписал Вася и \textbf{1} ≤ \textbf{M} ≤ \textbf{100000} --- суммарное количество вопросов и изменений сделанных Васей. Во второй строке дано \textbf{N} чисел --- последовательность чисел, выписанных Васей. Далее в \textbf{M} строках находятся описания вопросов. Каждый запрос на изменение числа в некоторой позиции начинается со слова \textbf{SET} и имеет вид \textbf{SET a b} (\textbf{1} ≤ \textbf{a} ≤ \textbf{N}, \textbf{1} ≤ \textbf{b} ≤ \textbf{N}). Это означает, что Вася изменил число, записанное в позиции \textbf{a} на число \textbf{b}. Каждый Васин вопрос начинается со слова \textbf{GET} и имеет вид \textbf{GET x y k l} (\textbf{1} ≤ \textbf{x} ≤ \textbf{y} ≤ \textbf{N}, \textbf{1} ≤ \textbf{k} ≤ \textbf{l} ≤ \textbf{N}). \OutputFile Для каждого Васиного вопроса выведите единственное число --- ответ на Васин вопрос.
Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
4 2
1 2 3 4 
GET 1 2 2 3
GET 1 3 1 3
Выходные данные #1
1
3