#include<bits/stdc++.h>
using namespace std;
void unos(long long d[], long long p[], long long cuv[], int n)
{
	cin>>d[0]>>p[0];
	cuv[0] = 1;
	int i;
	long long medjudani;
	for(i = 1; i < n; i++)
	{
		cin>>d[i]>>p[i];
		medjudani = d[i] - d[i-1];
		if(medjudani >= p[i-1]) medjudani = p[i-1];
		cuv[i] = cuv[i-1] + medjudani;
		p[i] = p[i] + p[i-1] - cuv[i] + cuv[i-1];
	}
}
int binpret(long long d[], int n, long long te)
{
	int donja = 0;
	int gornja = n-1;
	int s;
	while(donja <= gornja)
	{
		s = donja + (donja+gornja)/2;
		if(d[s] == te) return s;
		if(d[s] < te) donja = s+1;
		else gornja = s-1;
	}
	if(d[s] > te) return s-1;
	else return s;
}
int main()
{
	int n, q;
	cin>>n>>q;
	long long d[n];
	long long p[n];
	long long cuv[n];
	unos(d, p, cuv, n);
	int i;
	long long kj;
	int cuvanje;
	long long medjudani;
	long long ispis = 0;
	for(i = 0; i<q; i++)
	{
		cin>>kj;
		if(kj < d[0]) cout<<"0"<<endl;
		else if(kj > d[n-1])
		{
			medjudani = kj - d[n-1];
		    if(medjudani >= p[n-1]) medjudani = p[n-1] - 1;
			ispis = cuv[n-1] + medjudani;
			cout<<ispis<<endl;
			ispis = 0;
		}
		else
		{
			cuvanje = binpret(d, n, kj);
			medjudani = kj - d[cuvanje];
		    if(medjudani >= p[cuvanje]) medjudani = p[cuvanje];
			ispis = cuv[cuvanje] + medjudani;
			cout<<ispis<<endl;
			ispis = 0;
		}
	}
}