Волшебный чемодан

아직 제출이 없습니다시간 제한1.5초메모리 제한1024 MB

문제

В чемодане Ньюта Саламандера находится nn волшебных животных и столько же отделений для них. Отделения пронумерованы от 11 до nn. В каждое отделение помещается ровно одно животное. У каждого существа есть уровень опасности tt. Как известно, животные весьма активны. Они не любят находиться в одном месте и поэтому постоянно меняются местами внутри чемодана.

Назовём группу подряд идущих животных, которые находятся в отделениях с ll по rr, отрезком.

В течение mm минут происходило два типа событий:

  1. Два непересекающихся равных по размеру отрезка животных меняются местами. Отрезок с l_1l\_1 по r_1r\_1 меняется с отрезком с l_2l\_2 по r_2r\_2. Формально, животное в ячейки ii меняется местом с животным в ячейке il_1+l_2i - l\_1 + l\_2, где ii от l_1l\_1 до r_1r\_1.
  2. Зоолог спрашивает количество животных на отрезке с ll по rr, у которых сила tt не меньше, чем aa и не больше, чем bb.

Вы узнали, какие события происходили в чемодане, а также начальное положение животных. Найдите ответы на вопросы учёного.

입력

В первой строке задано число nn и mm --- количество клеток и количество запросов (1n1061 \le n \le 10^6; 1m21031 \le m \le 2 \cdot 10^3).

Во второй строке задана последовательность чисел t_it\_i длины nn --- силы животных (1t_i1091 \le t\_i \le 10^9).

Далее следует mm строк. В каждой записаны числа typetype --- тип запроса (1type21 \le type \le 2).

Если type=1type = 1, то далее следуют числа l_1l\_1, r_1r\_1, l_2l\_2, r_2r\_2 --- запрос обмена местами животных. Гарантируется, что отрезки не пересекаются и имеют равную длину (1l_1r_1n1 \le l\_1 \le r\_1 \le n, 1l_2r_2n1 \le l\_2 \le r\_2 \le n).

Если type=2type = 2, то далее следуют числа ll, rr, aa, bb --- запрос зоолога (1lrn1 \le l \le r \le n, 1ab1091 \le a \le b \le 10^9).

출력

Для каждого запроса второго типа вывести количество подходящих животных.