#include <bits/stdc++.h>
using namespace std;
int main(int argc, char** argv) {
	
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	int n,q;
	cin>>n>>q;
	vector<long long> a(n),b(n);
	vector<long long> d(n);
	long long rez=0,tr=0;
	
	for (int i=0;i<n;i++) cin>>a[i]>>b[i];
	
	
	for (int i=0;i<n-1;i++){
	
		d[i]=b[i]+tr;
		tr=max((long long)0 , tr + b[i] - (a[i+1] - a[i]));
		if (tr==0) rez+=b[i];
		else rez+=a[i+1]-a[i];
	
	}
	d[n-1]=b[n-1]+tr;
//	cout<<"broj cokoladica na a[i]tom danu: \n";
//	for (int i=0;i<n;i++){
	
//		cout<<d[i]<<" ";
	
//	}
//	cout<<'\n';
	
	vector<long long> skorovi(n);
	skorovi[0]=1;
	for (int i=1;i<n;i++){
		skorovi[i]=min(d[i-1],a[i]-a[i-1]);
		skorovi[i]+=skorovi[i-1];
	}
//	cout<<"cokoladice do dana a[i]: \n";
//	for (int i=0;i<n;i++){
//		cout<<skorovi[i]<<" ";
//	}
//	cout<<'\n'<<'\n';
	
	long long k;
	while(q--){
		
		cin>>k;
		int p=distance(a.begin(),upper_bound(a.begin(),a.end(),k))-1;
		if (p==-1){
			cout<<"0\n";
			continue;
		}
		long long rez1;
		long long v=k-a[p];
		rez1=min(d[p]-1,v);
//		cout<<'\n'<<p<<"  "<<d[p]<<"  "<<v<<'\n';
		cout<<rez1+skorovi[p]<<'\n';
		
	}
	

	
	return 0;
}