/*
TASK:festb
LANG:C++
*/
#include<iostream.h>
#include<math.h>

long hora[502]={0},pari[1002]={0};
long sum[1000];

void ful()
{
	int i,j,b;
	for(i=0;i<500;i++)
		for(j=0;j<500;j++)
			if(i!=j)
				if(hora[j]!=0)
				{
					b=fabs(j-i);
					pari[i]=hora[j]*b+pari[i];
					//cout<<b<<endl;
				}
	for(i=0;i>500;i--)
		for(j=0;j<500;j++)
			if(i!=j)
				if(hora[j]!=0)
				{
					b=fabs(i-j);
					pari[i]=hora[j]*b+pari[i];
				}
}

int closer(long p)
{
	long k[502],l[502];
	int br=0;
        int i;
	for(i=-500;i<=500;i++)
		if(hora[i]!=0)
		{
			k[br]=fabs(hora[i]-p);
			l[br]=i;
			br++;
		       // cout<<k[br]<<" "<<l[br]<<endl;
		}
	int min=k[0],c=l[0];
	for(i=1;i<=br;i++)
		if(min>k[i])
		{
			min=k[i];
			c=l[i];
		}
	return c;
}

int main()
{
        int n,m;
	int kor[500],nas[500],j,t;
	cin>>m;
	cin>>n;
	for(int i=1;i<=m;i++)
	{
		cin>>kor[i]>>nas[i];
		hora[kor[i]]=hora[kor[i]]+nas[i];
	}
	for(i=1;i<=n;i++)
		cin>>sum[i];
	ful();
        int v;
	for(i=1;i<=n;i++)
	{
		t=closer(sum[i]);
		v=fabs(hora[t]-sum[i]);
		cout<<t<<" "<<v<<endl;
	}
	cin.get();
	cin.get();
	return 0;
}
