eolymp
bolt
Try our new interface for solving problems
Problems

Нулі та одиниці

Нулі та одиниці

Їжачок Аліна, переглядаючи свої старі зошити знайшла в одному з них неймовірно цікавий масив з нулів. Виявилось, що Аліна з цим масивом вміє робити кілька неймовірно цікавих операцій:

  • Присвоїти елементу в позиції x значення 1.

  • Присвоїти елементу в позиції x значення 0.

  • Замінити на відрізку від l до r всі нулі на одиниці і навпаки.

  • Повернути масив в стан, який був після x-ої операції.

  • Знайти кількість одиниць на підвідрізку масиву від l до r.

Вхідні дані:

В першому рядку задано два натуральні числа N ≤ 105 i M ≤ 2 ∙ 105, що позначають розмір масива і кількість операцій відповідно. В наступних M рядках задано інформацію про операції.

Вихідні дані:

Для кожної операції типу 5 вивести кількість одиниць на підвідрізку від l до r.

Time limit 1 second
Memory limit 512 MiB
Input example #1
8 7
1 1
3 1 4
5 1 5
2 3
5 1 5
4 1
5 1 5
Output example #1
3
2
1