[Ynoi2013] 大学

题目描述

一个长为 $n$ 的**非负**整数序列 $a$,支持以下两个操作: - `1 l r x`:把区间 $[l,r]$ 中所有 $x$ 的倍数除以 $x$。 - `2 l r`:查询区间 $[l,r]$ 的和。 本题强制在线,每次的 $l,r,x$ 需要 xor 上上次答案,如果之前没有询问,则上次答案为 $0$。

输入输出格式

输入格式


第一行两个整数表示 $n,m$。 第二行 $n$ 个非负整数表示 $a_i$。 之后 $m$ 行每行一个操作。 - `1 l r x`:把区间 $[l,r]$ 中所有 $x$ 的倍数除以 $x$。 - `2 l r`:查询区间 $[l,r]$ 的和。

输出格式


对于每次询问,输出一行一个整数表示答案。

输入输出样例

输入样例 #1

5 2
1 2 3 4 5
1 1 5 2
2 1 5

输出样例 #1

12

说明

$1\leq n,m\leq 10^5$,$0\leq a_i\leq 5\times 10^5$,解密后的 $x,l,r$ 满足 $1\leq x\leq 5\times 10^5$,$1\leq l\leq r\leq n$。 Idea:nzhtl1477 Solution:nzhtl1477 Code:nzhtl1477,mrsrz Data:nzhtl1477,mrsrz