var BMW, n, nn, i, j, M, Val, MaxI : int64; x : int64; k1, k2, x2 : string; a2 : array[1..1000] of string; a, k, kk : array[1..1000] of integer; b, c, c2, b2 : array[1..1000] of integer; begin ReadLn(BMW); ReadLn(n); for i := 1 to n do Read(b[i]); for i := 1 to n do Read(c[i]); M := 0; Val := 0; for i := 1 to n do k1 := k1 + '1'; for i := 1 to n do kk[i] := 1; for i := 1 to n do k [i] := 0; k[n] := 1; j := 0; nn := n; x := 0; while (x < n) do begin x := 0; for i := 1 to n do if (k[i] = 1) then begin M := M + b[i]; Val := Val + c[i]; end; if (M <= BMW) then begin Inc(j); c2[j] := Val; b2[j] := M; end; M := 0; Val := 0; for i := 1 to n do begin Str(k[i], x2); a2[j] := a2[j] + x2; end; if (k[n] = 1) then begin while k[nn] = 1 do begin k[nn] := 0; Dec(nn); end; if (k[nn] = 0) then begin k[nn] := 1; end else begin k[nn] := 0; Inc(k[nn - 1]); end; end else begin k[n] := 1; end; for i := 1 to n do if (k[i] = kk[i]) then Inc(x); end; MaxI := 0; for i := 1 to j do if (c[i] > MaxI) then MaxI := i; for i := 1 to n do if (Copy(a2[MaxI], i, 1) = '1') then WriteLn(i); end.