#NP0179. L46 NP0179-神奇的函数

0

L46 NP0179-神奇的函数

题目描述

给定长度为nn的序列aia_i,以及mm个操作。

操作一:1 k x,将aka_k修改为xx。 操作二:2 l r,记A=∏i=lraiA=\prod_{i=l}^{r}a_i,求φ(A)\varphi(A)。其中,φ(A)\varphi(A)指的是AA的欧拉函数值。 操作三:3 l r,记A=∏i=lraiA=\prod_{i=l}^{r}a_i,求σ(A)\sigma(A)。其中,σ(A)\sigma(A)指的是AA所有的因数之和。

特别的,善良的小码哥决定,不让aia_i过大,所以所有的aia_i与xx均不大于100100。

由于答案可能很大,你只需要输出在模998244353998244353下的结果即可。

输入格式

第一行输入两个整数n,mn,m。 第二行输入nn个整数aia_i。 接下来mm行,每行输入一个操作,格式如题面所示。

输出格式

对于每个询问操作,输出一行一个整数,表示你的答案。

样例输入 #1

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

样例输出 #1

8
60
16
124

说明/提示

有1≤n,m≤105,1≤ai,x≤1001\leq n,m\leq 10^5,1\leq a_i,x\leq 100。