/*
TASK: FESTB
LANG: C++
*/
#include <cstdio>
#include <vector>
#define ABS(z) ((z)<0)?(-(z)):(z)
using namespace std;

vector<pair<int, int> > p;
vector<pair<int, int> >::iterator b, e;
long k1, k2, R1, R2;
char res[20]="";

int main() {
    int N, M, l, j, i;
    long double S, S1, S2, _S1, _S2;
    
    scanf("%d%d", &M, &N);
    for(S1=S2=i=0; i<M; i++) {
    	scanf("%d%d", &l, &j);
        S1+=j;
        S2+=ABS(l)*j;
        p.push_back(make_pair(l, j));
    }
    for(i=0; i<N; i++) {
    	scanf("%Lf", &S);
        sprintf(res, "%.0Lf", (S2-S)/S1);
        sscanf(res, "%ld", &k1);
        sprintf(res, "%.0Lf", (S-S2)/S1);
        sscanf(res, "%ld", &k2);
        b=p.begin(); e=p.end();
        for(_S1=0; b!=e; b++)
        	_S1+= ABS((k1-(*b).first) * ((*b).second));
        for(_S2=0; b!=e; b++)
        	_S2+= ABS((k2-(*b).first) * ((*b).second));
        sprintf(res, "%.0Lf", S-_S1);
        sscanf(res, "%ld", &R1);
        sprintf(res, "%.0Lf", S-_S2);
        sscanf(res, "%ld", &R2);
        R1=ABS(R1); R2=ABS(R2);
        if(R1<R2)
    	printf("%ld %ld\n", k1, R1);
        if(R2<=R1)
    	printf("%ld %ld\n", k2, R2);
    }
	return 0;
}
