#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, q;
    cin >> n >> q;
    vector<int> d(n);//d
    vector<int> p(n);//p
    //               kao dp kao hahahhahhhahahahhah. pozdrav za marka popovica.
    int ohajofajnalbos;
    bool slucd = true, slucp= true;
    for(int i = 0; i < n ; i++){
        cin >> d[i]  >> p[i];
        if(d[i] !=0)slucp = false;
        if(p[i] != 0)slucd = false;
    }
    if(slucd){
        vector<int> prefiksne(n);
        prefiksne[0] = d[0];
        for(int i = 1; i < n ; i++){
            prefiksne[i] = prefiksne[i-1]+d[i];
        }
        for(int i = 0; i < q; i++){
            cin >> ohajofajnalbos;
            if(lower_bound(prefiksne.begin(), prefiksne.end(), ohajofajnalbos) - prefiksne.begin() == n)cout << -1 << "\n";
            else cout << lower_bound(prefiksne.begin(), prefiksne.end(), ohajofajnalbos) - prefiksne.begin()+1;
        }
        return 0;
    }
    if(slucp){
        vector<int> prefiksne(n);
        int suma = p[0];
        prefiksne[0] = p[0];
        for(int i = 1; i < n ; i++){
            prefiksne[i] = prefiksne[i-1]+p[i]+ suma;
            suma += p[i];
        }
        for(int i = 0; i < q; i++){
            cin >> ohajofajnalbos;
            if(lower_bound(prefiksne.begin(), prefiksne.end(), ohajofajnalbos) - prefiksne.begin() == n)cout << -1 << "\n";
            else cout << lower_bound(prefiksne.begin(), prefiksne.end(), ohajofajnalbos) - prefiksne.begin()+1;
        }
        return 0;
    }
    return 0;
}