Дан массив a1, a2, ..., an, каждое ai равняется 0 или 1. Напишите программу, которая умеет выполнять две операции:

В первой строке записаны числа n и q (1 ≤ n, q ≤ 250 000).
Во второй строке записаны n чисел a1, a2, ..., an, каждое из этих чисел равно 0 или 1.
В следующих q строках расположены параметры запросов. В i-й из этих строк записаны параметры i-го запроса — числа ti, li и ri, где ti равно 1 для запроса первого типа (замена чисел в массиве) и 2 для запроса второго типа (нахождение суммы), а li и ri, 1 ≤ li ≤ ri ≤ n есть параметры соответствующего запроса.
Для каждого запроса второго типа выведите в отдельной строке единственное число — ответ на соответствующий запрос.
5 10
0 0 0 0 0
1 2 4
2 2 2
2 1 1
2 1 2
2 2 3
1 3 5
2 2 2
2 3 3
2 2 4
2 1 5
0
1
1
1
1
1
1
1