Var
   a,c,i,k,m,n,p,s,v: longint;
   t: array [1..1000] of longint;
   e: array [1..1000] of boolean;

Begin
     readln(input, n);
     readln(input, m);
     s:= 0;
     fillchar(t, sizeof(t), 0);
     fillchar(e, sizeof(e), true);
     for i:= 1 to m do
         begin
         read(input, c, v);
         while (c<>0) do
               begin
               e[c]:= false;
               Inc(s, v);
               Inc(t[c], v);
               read(input, c, v);
               end;
         readln;
         end;
     readln(input, k);     
     for i:= 1 to k do
         begin
         readln(input,a);
         a:= a mod s;
         p:= 1;
         while (e[p]) do
               Inc(p);
         while (t[p] <= a) do
               begin
               Dec(a, t[p]);
               repeat
                     Inc(p);
                     if (p > n) then p:= 1;
                     until (not e[p]);
               end;
         e[p]:= true;
         Dec(s, t[p]);
         writeln(output, p);
         end;
End.

