1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
n,q=input().split()
n,q=int(n),int(q)
add=[]
mult=[]
for i in range(n):
    am = input().split()
    add.append(int(am[0]))
    mult.append(int(am[1]))
for i in range(q):
    wyd=input().split()
    x=int(wyd[0])
    big=0
    for j in range(int(wyd[1]),int(wyd[2])):
        if big==0:
            if x+add[j]>x*mult[j]:
                x+=add[j]
            else:
                x*=mult[j]
            if x>1000000006:
                x=x%1000000007
                big = 1
        else:
            if mult[j]==1:
                x+=add[j]
            else:
                x*=mult[j]
            x=x%1000000007
    print(x)