#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;
//Magyarazattal
int main()
{
//Hiba=>Mindenhol long long
ll szendb, caedb;
cin >> szendb >> caedb;
//Beolvasas, a szenatorok parokba lesznek beolvasva.
vector<pair<ll, ll>> szenator(szendb);
for (ll i = 0; i < szendb; i++)
{
cin>>szenator[i].first >> szenator[i].second;
}
vector<ll> caesar(caedb);
for (ll i = 0; i < caedb; i++)
{
cin>>caesar[i];
}
//A szortirozas az elso par szerll szortiroz.
//A legjobb ha a leggyengebbek lesznek elol.
sort(szenator.begin(), szenator.end());
vector<ll> hozott_ero(szendb);//az ero, amit az eddig legyozott gladiatorokbol szerzunk.
ll sum = 0;
for (ll i = 0; i < szendb; i++)
{
hozott_ero[i] = sum;
sum += szenator[i].second;
}
vector<ll> kello_ero(szendb);//Az ero ami az elejetol kell, hogy legyozzuk
for (ll i = 0; i < szendb; i++)
{
kello_ero[i] = szenator[i].first - hozott_ero[i];
}
for (ll glad : caesar)
{
ll mego = -1;
for (int i = 0; i < szendb; i++)
{
//Az elso olyan, ami nagyobb nala, ott veszit.
//Kiirjuk meddig jutott.
if (glad < kello_ero[i]) {
mego = i;
break;
}
}
if (mego == -1)cout << szendb << " ";
else {
cout << mego << " ";
}
}
}