program kutevi;
var n, k : integer;
    i, j, l : integer;
    changes : integer;
    found : boolean;
    zna : array[1..10] of integer;
    zad : array[1..10] of integer;
    kut : array[0..359] of boolean;

begin
    readln(n, k);
    for i := 1 to n do
        read(zna[i]);
    for i := 1 to k do
        read(zad[i]);

    for i := 1 to k do
    begin
        found := false;
        kut[0] := true;
        for j := 1 to 359 do
            kut[j] := false;
        repeat
            changes := 0;
            j := 0;
            repeat
                if kut[j] = true then
                begin
                    for l := 1 to n do
                    begin
                        if j+zna[l] > 359 then begin
                            if kut[(j+zna[l])-360] = false then
                            begin
                                kut[(j+zna[l])-360] := true;
                                changes := changes + 1;
                                if (j+zna[l])-360 = zad[i] then found := true;
                            end;
                        end
                        else begin
                            if kut[j+zna[l]] = false then
                            begin
                                kut[j+zna[l]] := true;
                                changes := changes + 1;
                                if j+zna[l] = zad[i] then found := true;
                            end;
                        end;

                        if j-zna[l] < 0 then begin
                            if kut[360-j-zna[l]] = false then
                            begin
                                kut[360-j-zna[l]] := true;
                                changes := changes + 1;
                                if 360-j-zna[l] = zad[i] then found := true;
                            end;
                        end
                        else begin
                            if kut[j-zna[l]] = false then
                            begin
                                kut[j-zna[l]] := true;
                                changes := changes + 1;
                                if j-zna[l] = zad[i] then found := true;
                            end;
                        end;
                    end;
                end;
                j := j + 1;
            until (j = 360) or (found = true);
        until (changes = 0) or (found = true);
        if found = true then writeln('DA')
        else writeln('NE');
    end;
end.

