#YDRG006D. 整型与布尔型的转换
整型与布尔型的转换
题目描述
给定一个正整数 ,维护一个长度为 的序列 ,支持以下四种操作或询问:
1 l r v
,对所有整数 ,令 ;2 l r v
,对所有整数 ,令 ;3 l r
,对所有整数 ,令 ;4 x
,求 的值。
其中 是 Iverson Bracket,即若 为真,则 ,否则 。
注:任何数都是 的因数,也就是 恒为真。
输入格式
第一行三个正整数 表示序列长度、模数和操作或询问的个数。
第二行 个非负整数 描述序列 。
后 行,每行描述一个操作,形如以下四种中的一种:
1 l r v
2 l r v
3 l r
4 x
输出格式
若干行,每行回答一个询问。
样例输入
5 10 4
3 2 8 8 9
1 1 4 2
2 1 4 8
3 1 3
4 2
样例输出
1
测试点约束
本题采用捆绑测试。
数据范围:
- Subtask 1 (10pts):。
- Subtask 2 (20pts):没有操作 3。
- Subtask 3 (30pts):。
- Subtask 4 (40pts):无特殊限制。
对于全部数据,,,。