#SummerP8007. 和异位

和异位

题目描述

给定一个长度为 nn0101 序列(即每个元素为 0011)。Tim 会进行 qq 次操作,每次选择一个区间 [,r][\ell, r],若区间内的下标 i[,r]i \in [\ell, r]ii - \ell 为奇数,则将其位置上的数异或 11(即 00111100)。

你需要求出整个序列最终的和。

输入描述

第一行输入两个整数 n,qn, q1n,q5×1051 \le n, q \le 5 \times 10^5),分别表示 0101 序列的长度与操作次数。

第二行输入一个长度为 nn0101 序列 ss,保证 si{0,1}s_i \in \{0, 1\}

接下来 qq 行,每行两个整数 ,r\ell, r1rn1 \le \ell \le r \le n),表示一次操作区间。

输出描述

输出一个整数,表示最终序列的和。

样例

样例 1

6 3
101010
1 1
1 2
2 5
2

样例 2

12 4
111111111111
1 12
2 12
3 9
4 8
6

注释

对于第二组测试用例,原序列为 111111111111,操作过程如下:

  1. =1,r=12\ell=1, r=12,序列变为 101010101010
  2. =2,r=12\ell=2, r=12,序列变为 100000000000
  3. =3,r=9\ell=3, r=9,序列变为 100101010000
  4. =4,r=8\ell=4, r=8,序列变为 100111110000

最终序列中 1 的个数为 66,因此答案为 66