1562 : 小白的数学题Ⅲ
时间限制:1 Sec 内存限制:256 MiB 提交:2 正确:2
题目描述
众所周知,每年一道数学题是
新生赛的传统,小白无意之间发现了一个函数
,现在他只知道函数
是一个积性函数,以及对于任意质数
和正整数
,满足
。
现在小白获得了一个长度为的数组
,炮哥现在要问小白
个问题,每次询问炮哥会给出两个整数
和
,保证
,然后炮哥想知道
的值是多少,小白看完后觉得这题太简单了,于是想请你来解决这个问题。由于答案可能过大,请将答案对
取模后输出。
积性函数的定义:对于正整数的一个算数函数
,若
,且当
和
互质时有
,那么这个函数在数论上就被称为积性函数。
输入描述
第一行输入两个整数
和
,表示数组的长度和询问的次数。
第二行输入个数
,表示这个数组。
接下来行每行输入两个整数
和
,表示炮哥询问的区间。
输出描述
输出
行,每一行输出一个整数,表示询问的答案,由于答案可能过大,请将答案对
取模后输出。
样例输入
5 2 4 9 2 1 6 1 3 2 5
样例输出
144 216
提示
由于 \prod_{i=1}^{3} a_i=72 ,f(72)=144 ,所以第一个样例的答案是 144。 由于 \prod_{i=2}^{5} a_i=108 ,f(108)=216 ,所以第二个样例的答案是 216。
来源
WIT第七届新生赛