var
w:array[1..8] of longint;
v:array[1..8] of longint;
f:array[0..8] of longint;
i,j:longint;
function max(a,b:longint) :longint;
begin
if a>b then exit(a);
if a<b then exit(b);
end;
begin
fillchar(f,sizeof(f),0);
for i:=1 to 4 do
begin
for j:=8 downto v[i] do max(f[j],f[j-v[i]]+w[i])
end; end.
w:array[1..8] of longint;
v:array[1..8] of longint;
f:array[0..8] of longint;
i,j:longint;
function max(a,b:longint) :longint;
begin
if a>b then exit(a);
if a<b then exit(b);
end;
begin
fillchar(f,sizeof(f),0);
for i:=1 to 4 do
begin
for j:=8 downto v[i] do max(f[j],f[j-v[i]]+w[i])
end; end.