// UUID: bd76610f-d7e7-401d-905b-4e049bfc9e2d
#include <bits/stdc++.h>
using namespace std;
const int CAP = 314;//sqrt n
int main() {
int n, q;
cin >> n >> q;
vector<int> dia(n+1);
dia[n] = 1e9+1;
vector<int> tonext(n+1);
vector<int> next(n);
vector<int> nextjmp(n+1);
vector<int> tonextjmp(n+1, 0);
nextjmp[n] = n;
for(int i = 0; i != n; i++){
cin >> dia[i] >> tonext[i];
}
vector<int> veiw(n+1);
veiw[0] = n;
int pos = 0;
int i = n;
while(i--){
while(dia[veiw[pos]] <= dia[i]) pos--;
next[i] = veiw[pos];
nextjmp[i] = veiw[(pos/CAP)*CAP];
veiw[++pos] = i;
if(pos % CAP) tonextjmp[i] = tonext[i]+tonextjmp[next[i]];
//cout << i << ": " << next[i] << " " << nextjmp[i] << " " << tonextjmp[i] << endl;
}
//delete(&veiw);
tonextjmp[n] = 1e9+1;
tonext[n] = 1e9+1;
for(int i = 0; i != n; i++){
if(!tonextjmp[i]) tonextjmp[i] = tonextjmp[next[i]]+tonext[i];
}
while(q--){
long long r, v;
cin >> r >> v; r--;
while(tonextjmp[r] < v){
v -= tonextjmp[r];
r = nextjmp[r];
}
//cout << r << " " << v << endl;
while(tonext[r] < v){
//cout << r << " " << v << endl;
v -= tonext[r];
r = next[r];
}
if(r == n) r = -1;//fuck yeah 856 ms done!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
cout << r+1 << endl;
}
}
//1.5hours