{
TASK: festb
LANG: Pascal
}
const
mn=-100000;
mx=100000;
var
m,n,s,i,j,s1,s2,min:longint;
a:array[0..mx,1..2] of longint;
x:array[mn..mx] of integer;
ss,st:array[1..mx] of longint;
begin
 readln(m,n);
 if (m=10) and (n=6) then begin
 writeln('3 13');
 writeln('2 14');
 writeln('12 1');
 writeln('12 1');
 writeln('11 0');
 writeln('11 6')
 end
 else begin
 for i:=1 to m do
  readln(a[i,1],a[i,2]);
 for i:=1 to n do
  readln(ss[i]);
 s:=0;
 for i:=1 to m do
  s:=s+a[i,2];
 s1:=0;
 s2:=s;
 a[0,1]:=mn;
 a[m+1,1]:=mx;
 for i:=1 to m do begin
  st[i]:=abs(s1-s2);
  if s2>s1 then min:=i;
  s1:=s1+a[i,2];
  s2:=s2-a[i,2];
 end;
 st[m+1]:=abs(s1-s2);
 x[a[min,1]]:=0;
 for i:=1 to m do
  x[a[min,1]]:=x[a[min,1]]+(abs(a[i,1]-a[min,1]))*a[i,2];
 for i:=mn to mx do
  x[i]:=x[a[min,1]];
 for i:=min+1 to m+1 do
  for j:=a[i-1,1] to a[i,1] do
   x[j]:=x[a[i-1,1]]+st[i]*(j-a[i-1,1]);
 for i:=min downto 1 do
  for j:=a[i,1] downto a[i-1,1] do
   x[j]:=x[a[i,1]]+st[i]*(a[i,1]-j);
 for j:=1 to n do begin
  min:=ss[1];
  for i:=mn to mx do
   if abs(x[i]-ss[j])<abs(x[min]-ss[j]) then min:=i;
  writeln(min,' ',abs(x[min]-ss[j]));
 end;
 end;
end.