小红不想做模拟题
题号:NC271937
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给你两个长度大小为n的01串 A,B(指字符串的字符都为'0'和'1')。
现在小红有若干次操作,每次选择一个01串的一个区间,将区间内所有字符都变成全1。
每次操作后,小红希望你求出两个字符串有多少个位置的对应字符都是1。用数学语言来说,即求\sum_{i=1}^n(a_i\ \& \ b_i)。你能帮帮她吗?

输入描述:

第一行输入一个正整数 n,代表字符串的长度。 
第二行和第三行分别输入一个长度为 n 的01串,分别代表A串和B串。
第四行输入一个正整数 q,代表操作次数。
接下来的 q 行,每行输入一个字符 c 和三个整数 l,r,代表将对应字符串的第 l 个字符到第 r 个字符修改为 1
1\leq n,q \leq 10^5
1\leq l \leq r \leq n
c∈{'A','B'}

输出描述:

输出 q 行,每行输出操作后,两个字符串有多少个位置的对应字符都是1。
示例1

输入

复制
4
0101
0110
2
A 2 3
B 1 4

输出

复制
2
3

说明

第一次操作后,A字符串变成"0111",有2个位置满足对应字符都是1。
第二次操作后,B字符串变成"1111",有3个位置满足对应字符都是1。