program kutevi;
uses crt;
var n,k,i,j,x,y,z,sveukupno:integer;
var kut, zavrsnikut: array[1..360] of integer;
begin
clrscr;
read(n,k);
for i:= 1 to n do begin
read(kut[i]);
end;
for i:= 1 to k do begin
read(zavrsnikut[i]);
end;
for i:= 1 to n-1 do begin
for j:=i+1 to n do begin
if kut[i]>kut[i+1] then begin
x:=kut[i+1];
kut[i+1]:= kut[i];
kut[i]:=x;
end;
end;
end;
for i:= 1 to  n do writeln(kut[n]);
for j:= 1 to k do begin
if zavrsnikut[j]<kut[1] then writeln('NE');
for i:= n downto 1 do begin
if i mod 2<>0 then begin
repeat
sveukupno:=sveukupno + kut[n];
until sveukupno > zavrsnikut[j];
end;
if i mod 2=0 then begin
repeat
sveukupno:=sveukupno - kut[n];
until (sveukupno<zavrsnikut[j]) or (sveukupno=zavrsnikut[j]);
end;
end;
if zavrsnikut[j]<>sveukupno then writeln('NE')
else writeln('DA');
end;
end.


