TopCoder

餘切
$\Huge\text{freeh1}$

User's AC Ratio

100.0% (5/5)

Submission's AC Ratio

54.2% (26/48)

Tags

Description

我們摯愛的一二學術長檸檬,於西元2023年1月13日,悄悄的離開這個世界,我們痛徹心扉,就僅僅一眨眼的時間,天人永隔。檸檬安祥的走完了18年的人生旅程,他彷彿在沉睡中做了一個美夢。夢醒了,留下陪伴我們成長過程中的點點滴滴,留下我們永恆的追思與感恩。

身為高三生,檸檬不負眾望地被學測給揍爛。
然而他們不知道的是,在學測前一天,檸檬做了一個惡夢:

進到考場後,第一個考科是數學。
檸檬非常緊張,因為數學正好是他最爛的科目。
發下考卷後,發現考卷上只有一個題目,
檸檬看著題目,發現自己完全不會算QAQ
很快收卷的鈴聲敲響,檸檬交了一張白卷。

夢醒了,做了惡夢的檸檬在學測考試時一直想著那道數學題到底要怎麼解,結果學測就燒雞ㄌ。

田鼠博士為了幫助可憐的學測牲檸檬,發明了一台機器「夢境終結者」,用來進入學測前檸檬的夢境幫他解決數學問題!該問題如下:

給定非負整數$k$、長度為$n$的序列$a$,

定義函數$\sigma_k(x) = \displaystyle\sum_{d|x}{d ^ k}$,也就是$x$的所有正因數的$k$次方和

另一函數$\omega(x) = \displaystyle\sum_{p|x}1$,其中$p$為質數,也就是$x$的相異質因數個數
對於區間$[l, r]$,請解出$\displaystyle\sum ^ {r}_{i = l}{(\ \omega(a_i)\times\sigma_k(a_i)\ )}$的值。

有了早已取得數學博士學位的田鼠博士的協助,你們很快便解決了問題。
然而,惡夢還沒有結束:

夢裡的題目慢慢出現了變化,
「糟糕了,是修改操作!」田鼠博士大喊。
每當你解出題目,題目便會將序列$a$的第$i$項$a_i$乘上一個與$a_i$互質的整數$t$。
「現在你必須加快動作,數字已經越來越大了...。」

作為建北電資學術力擔當的你,請你寫出一個程式來自動計算數學題,拯救可憐的學測牲吧。

Input Format

輸入第一行有三個整數$n, q, k$,分別代表序列長度$n$、操作次數$q$和題敘中的次方數$k$。
第二行有$n$個正整數$a_i$代表序列$a$的初始值。
接下來$q$行,會先有一個數字$s$代表接下來是詢問操作或修改操作:
若$s = 0$則該操作為詢問操作,接下來兩個整數$l, r$代表詢問的區間$[l, r]$。
若$s = 1$則該操作為修改操作,接下來兩個整數$p, t$代表將$a_p$乘上$t$。

其中:
$1 \le n,q \le 10 ^ 6$
$0 \le k \le 10 ^ {18}$
$1 \le a_i, t \le 10 ^ 6$
$s \in {0, 1}$
$1 \le l \le r \le n$
$1 \le p \le n$
保證 $\forall t, a_p: t \perp a_p$ ( 即 $t$ 和 $a_p$ 互質 )
保證一定存在詢問使得$s = 0$

Output Format

對每個詢問操作,請輸出 $\displaystyle\sum ^ {r}_{i = l}{(\ \omega(a_i)\times\sigma_k(a_i)\ )}$ 的值 $mod\ 10 ^ 9+7$。

Sample Input 1

5 3 0
2 6 10 7 5
0 1 2
1 3 13
0 3 3

Sample Output 1

10
24

Sample Input 2

5 4 3
1 3 5 7 9
0 1 5
0 1 2
1 5 5120
0 1 5

Sample Output 2

1255
28
343753423

Hints

Problem Source

Subtasks

No. Testdata Range Score

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 2000 500000 65536
1 2000 500000 65536
2 2000 500000 65536
3 2000 500000 65536
4 2000 500000 65536
5 2000 500000 65536
6 2000 500000 65536
7 2000 500000 65536
8 2000 500000 65536
9 2000 500000 65536
10 2000 500000 65536
11 2000 500000 65536
12 2000 500000 65536
13 2000 500000 65536
14 2000 500000 65536
15 2000 500000 65536
16 2000 500000 65536
17 2000 500000 65536
18 2000 500000 65536
19 2000 500000 65536
20 2000 500000 65536
21 2000 500000 65536
22 2000 500000 65536
23 2000 500000 65536
24 2000 500000 65536
25 2000 500000 65536
26 2000 500000 65536
27 2000 500000 65536