小B正在使用一款文字校对软件,检查两行文字是否一致。两行文字都由 n 个小写英文字母组成,分别记为 s 和 t。每一行中的字符位置从左到右编号为 1,2,\ldots,n。
每个位置 i 都有一个给定的差异分值 w_i。检查一段文字时,对于其中每个未被遮挡且两行文字对应字符不同的位置,都将 w_i 计入这次检查的总分。
软件可以暂时遮挡一段位置。一次遮挡会同时作用于两行文字,不会删除字符,也不会改变位置编号。多个遮挡可以重叠;只要一个位置被至少一个当前有效的遮挡覆盖,检查时就不计入这个位置的分值。一次遮挡失效,只会取消这一次遮挡,不会取消其他仍然有效的遮挡。
开始时没有任何遮挡。接下来共有 q 次操作,第 j 次操作发生在时刻 j。操作有以下三种:
- 添加遮挡。 给出 l,r,e,遮挡第 l 个位置到第 r 个位置,包括两个端点。这次遮挡从当前时刻开始生效,并在时刻 e 开始时失效,因此不覆盖第 e 次及之后的操作。保证 j
。当 e=q+1 时,这次遮挡在剩余的所有操作期间都有效。 - 修改字符。 给出 a,p,c,把第 a 行文字的第 p 个字符改成 c。其中 a=1 表示第一行,a=2 表示第二行。即使这个位置正在被遮挡,也可以修改,修改立即生效。遮挡只影响是否计入分值,不会阻止字符的修改。
- 检查文字。 给出 l,r,计算第 l 个位置到第 r 个位置中,没有被遮挡且两行对应字符不同的位置的分值总和,包括两个端点。
每个时刻先取消在这一时刻失效的全部遮挡,再执行这一时刻的操作。每个位置的分值 w_i 始终不变。
请依次回答每次检查文字的结果。