#直接无脑线段树了
mod=10**9+7
def op(a, b):
return a * b % mod
def solve():
n,q=MII()
a=LII()
seg = SegTree(
op=op,
e=1,
v=a
)
ans = []
for _ in range(q):
l, r = MII()
ans.append(seg.prod(l-1, r))
print(*ans)
T=1
# T=II()
res=[]
for _ in range(T):
solve()
# print('\n'.join(map(str, res)))

京公网安备 11010502036488号