B - ニワンゴくんの約数 Editorial

Time Limit: 2.525 sec / Memory Limit: 246 MB

配点 : 11001100

問題文

ニワンゴくんは、正の整数からなる数列 x1, x2, ..., xNx_1,\ x_2,\ ...,\ x_N を持っています。次の QQ 個のクエリに順に答えてください。

  • クエリ: 1liriN1 ≦ l_i ≦ r_i ≦ N が与えられるので、xli, xli+1, ..., xrix_{l_i},\ x_{l_i+1},\ ...,\ x_{r_i} の積 xlixli+1...xrix_{l_i}x_{l_i+1}...x_{r_i} の約数の個数を 109+710^9 + 7 で割ったあまりを求めよ。

制約

  • 1N,Q1051 ≦ N, Q ≦ 10^5
  • 1xi105(1iN)1 ≦ x_i ≦ 10^5 (1 ≦ i ≦ N)
  • 1liriN(1iQ)1 ≦ l_i ≦ r_i ≦ N (1 ≦ i ≦ Q)
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN QQ
x1x_1
::
xNx_N
l1l_1 r1r_1
::
lQl_Q rQr_Q

出力

クエリ毎に、整数 xlixli+1...xrix_{l_i}x_{l_i+1}...x_{r_i} の約数の個数を 109+710^9 + 7 で割ったあまりを一行に出力せよ。


入力例 1Copy

Copy
6 5
2
6
5
18
4
15
1 6
2 4
1 3
2 6
4 4

出力例 1Copy

Copy
90
24
12
75
6

最初のクエリにおいて、x1x2x3x4x5x6=64800x_1x_2x_3x_4x_5x_6=64800 の約数の個数は 9090 個なので、9090 を出力します。


入力例 2Copy

Copy
10 6
3003
57600
4320
100000
3456
2197
2187
65536
90090
8128
1 10
2 5
3 7
1 4
3 6
7 10

出力例 2Copy

Copy
1005480
2106
7056
9576
3528
7680


2025-04-05 (Sat)
19:16:52 +00:00