# UUID: 350baf8c-5eaa-4fcf-a6a7-9a58e14785d3
from sys import stdin, stdout
input = stdin.readline
print = stdout.write
def solv():
kov = [[0] * 19 for _ in range(100011)]
ert = [[0] * 19 for _ in range(100011)]
szel = [0] * 100011
kap = [0] * 100011
n,q = map(int,input().split())
for i in range(1, n + 1):
szel[i],kap[i] = map(int,input().split())
s = [n+1]
szel[n + 1] = 10**9 + 10
for i in range(n, 0, -1):
while szel[s[-1]] <= szel[i]:
s.pop()
kov[i][0] = s[-1]
ert[i][0] = kap[i]
s.append(i)
for j in range(1, 19):
for i in range(1, n + 1):
kov[i][j] = kov[kov[i][j - 1]][j - 1]
ert[i][j] = ert[i][j - 1] + ert[kov[i][j - 1]][j - 1]
output = []
for _ in range(q):
kezd, hany = map(int,input().split())
for i in reversed(range(19)):
if kezd == n + 1:
break
if ert[kezd][i] < hany:
hany -= ert[kezd][i]
kezd = kov[kezd][i]
output.append(str(0 if kezd > n else kezd))
print('\n'.join(output))
solv()