EduBrick

B. Сколько не меньше

2500 мс · 256 МБ · всё или ничего

Дан массив из nn чисел. Нужно обрабатывать запросы двух видов: присвоить всем элементам отрезка одно и то же значение и узнать, сколько элементов отрезка не меньше заданного числа.

Формат ввода

В первой строке nn и mm (1≤n,m≤1051 \le n, m \le 10^5). Во второй строке nn целых чисел aia_i (0≤ai≤1090 \le a_i \le 10^9).

В следующих mm строках запросы. Запрос 1 l r x — присвоить всем элементам с индексами от ll до rr значение xx. Запрос 2 l r x — сколько среди них не меньше xx. Всюду 1≤l≤r≤n1 \le l \le r \le n и 0≤x≤1090 \le x \le 10^9.

Формат вывода

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

Примеры

ввод
6 5
5 1 9 3 3 7
2 1 6 3
1 2 4 8
2 1 6 8
2 3 5 9
1 1 6 0
вывод
5
3
0
ввод
1 3
1000000000
2 1 1 1000000000
1 1 1 0
2 1 1 1
вывод
1
0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.