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

int M, N, AB[1024][2], S[1024];

int SUM(int p);

void main(void)
{
	int i=0, j, k, x[2];

    scanf("%ld%d", &M, &N);
	for( ; i<M; i++)
		scanf("%d%d", &AB[i][1], &AB[i][2]);
    for(i=0; i<N; i++)
		scanf("%d", &S[i]);

	for(i=0; i<M; i++)
		for(j=i+1; j<M; j++)
			if(AB[i]>AB[j]) 
			{
				x[1]=AB[i][1]; x[2]=AB[i][2]; 
				AB[i][1]=AB[j][1];AB[i][2]=AB[j][2];
				AB[j][1]=x[1];AB[j][2]=x[2];
			}
	for(j=0; j<N; j++)
	{
		for(i=0; i<M-1; i++)
		{   
			if( SUM(AB[i][1] ) == S[j])
			{
				printf("%d 0", SUM(AB[i][1]));
				S[j]=-1;
			}
			else
				if( SUM(AB[i][1]) < S[j] < SUM(AB[i+1][1]) )
				{
					for(k=AB[i][1]+1; SUM(k)!=S[j]; k++);
					printf("%d 0", SUM(k));
					S[j]=-1;
				}
				else
					if( SUM(AB[i][1]) > S[j] > SUM(AB[i+1][1]) )
					{
						for(k=AB[i+1][1]-1; SUM(k)!=S[j]; k--);
						printf("%d 0", SUM(k));
						S[j]=-1;
					}
		}
		if( (SUM(AB[M-1][1]) == S[j]) && (S[j] != -1) ) printf("%d 0", SUM(AB[M-1][1]));
		else
			if(S[j] != -1)
			{
				x[1]=AB[0][1];
				x[2]=SUM(AB[0][2]);
				for(i=0; i<M; i++)
					if( abs( (SUM(AB[i][1])-S[j]) ) < x[2] ) 
					{
						x[1]=AB[i][1];
						x[2]=abs( (SUM(AB[i][1])-S[j]) );
					}
			}
	}
}



int SUM(int p)
{
	int i=0, sum=0;

	for( ;i<M; i++)
		if(AB[i][1] != p)
		{
			if(AB[i][1] < p) sum = sum + ( AB[i][2] * (p - AB[i][1]) ); 
			else sum = sum + (AB[i][2] * (p - AB[i][1]));
		}
return sum;
}


	
