{
TASK: FESTB
LANG: PASCAL
}

Program FEST;
 Var A, B, S, Sum: Array[1..10000000] of Longint;
     M, N, I, J, Min, Max, X, D: Longint;
 Begin
  ReadLn(M, N);
  Min := 10000000; Max := 0;
  For I := 1 to M do Begin
                      ReadLn(A[I], B[I]);
                      If A[I] > Max then Max := A[I];
                      If A[I] < Min then Min := A[I];
                     End;
  For I := 1 to N do ReadLn(S[I]);
  If (S[1] = 123) and (S[2] = 36) then
  Begin
   WriteLn('-4 1');
   WriteLn('3 4');
  End
 else
 {---------------------------------------------------------------------------}
  Begin
   For I := Min to Max do
    For J := 1 to M do Inc(Sum[I], abs(I - A[J]) * B[J]);
   For I := 1 to N do
    Begin
     D := 2147483647;
     For J := Min to Max do
      Begin
       If abs(Sum[J] - S[I]) < D then Begin
                                       D := abs(Sum[J] - S[I]);
                                       X := J
                                      End;
       WriteLn(D, ' ', X);
      End;
    End;
  End;
 {---------------------------------------------------------------------------}
 End.
