1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import sys

MOD = 10**9 + 7

data = sys.stdin.read().strip().splitlines()

n, q = map(int, data[0].split())

KROKI = []
for i in range(1, n+1):
    a, b = (map(int, data[i].split()))
    KROKI.append([a, b])

for zapytanie in range(n+1, n+q+1):
    x, l, r = (map(int, data[zapytanie].split()))
    for i in range(l, r):
        x = max(x+KROKI[i][0], x*KROKI[i][1])
        x = x % MOD
    print(x)