#1404. 贰晋志运算

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Corycle

题目描述

我们在二进制下定义了一种新的运算符 '⊙',称之为贰晋志运算

记这样一个运算符为 ,其中 { }

现在给定一个长度为 序列 {},以及 个运算符,第 个运算符 之间。

现在你需要对这个序列进行 次操作,操作分为三种:

① 给定 , ,求 ,特别地,当 时答案为

② 给定 , , , , , 表示将 修改为

③ 给定 , ,表示将 修改为

输入格式

第一行有三个正整数 , ,其含义如题目描述所述。

接下来一行有一个长度为 串,其中第 个数表示

接下来 行每行有四个正整数 , , , ,表示

接下来 行,每行有三个正整数 ,若 ,则接下来的两个数 , 表示所询问区间;若 ,则接下来的五个数 表示将 修改为 ;若 ,则接下来的两个数 , 表示将 修改为

输出格式

对于每一次询问,输出对应的结果,每一行只输出一个数。

样例

样例输入

5 5
01100
1 1 1 0
0 0 1 0
0 1 1 0
1 0 0 1
3 3 0
2 1 1 1 0 0
1 2 5
2 4 1 0 0 1
1 1 4

样例输出

0
1

数据范围与提示

数据保证 , , , { }