const fi='';
fo='';
max=30000;
var n,i:longint;
t:array[1..60000] of integer;
f:array[-1..60000] of longint;
r:array[0..59999] of integer;
w:text;
function min(x,y:longint):longint;
begin
if x>y then min:=y else min:=x;
end;
procedure nhap;
begin
assign(w,fi);
reset(w);
readln(w,n);
for i:=1 to n do read(w,t[i]);
for i:=1 to n-1 do read(w,r[i]);
close(w);
end;
procedure xuly;
begin
f[0]:=0; f[-1]:=0; r[0]:=max;
for i:=1 to n do
f[i]:=min(f[i-1]+t[i],f[i-2]+r[i-1]);
end;
procedure inkq;
begin
assign(w,fo);
rewrite(w);
writeln(w,f[n]);
close(w);
end;
begin
nhap;
xuly;
inkq;
end.
Y29uc3QgICBmaT0nJzsKICAgICAgICBmbz0nJzsKICAgICAgICBtYXg9MzAwMDA7CnZhciBuLGk6bG9uZ2ludDsKdDphcnJheVsxLi42MDAwMF0gb2YgaW50ZWdlcjsKZjphcnJheVstMS4uNjAwMDBdIG9mIGxvbmdpbnQ7CnI6YXJyYXlbMC4uNTk5OTldIG9mIGludGVnZXI7Cnc6dGV4dDsKZnVuY3Rpb24gbWluKHgseTpsb25naW50KTpsb25naW50OwpiZWdpbgogICAgaWYgeD55IHRoZW4gbWluOj15IGVsc2UgbWluOj14OwplbmQ7CnByb2NlZHVyZSBuaGFwOwpiZWdpbgogICAgYXNzaWduKHcsZmkpOwogICAgcmVzZXQodyk7CiAgICByZWFkbG4odyxuKTsKICAgIGZvciBpOj0xIHRvIG4gZG8gcmVhZCh3LHRbaV0pOwogICAgZm9yIGk6PTEgdG8gbi0xIGRvIHJlYWQodyxyW2ldKTsKICAgIGNsb3NlKHcpOwplbmQ7CnByb2NlZHVyZSB4dWx5OwpiZWdpbgogICAgICAgIGZbMF06PTA7IGZbLTFdOj0wOyByWzBdOj1tYXg7CiAgICAgICAgZm9yIGk6PTEgdG8gbiBkbwogICAgICAgIGZbaV06PW1pbihmW2ktMV0rdFtpXSxmW2ktMl0rcltpLTFdKTsKZW5kOwpwcm9jZWR1cmUgaW5rcTsKYmVnaW4KICAgICAgICBhc3NpZ24odyxmbyk7CiAgICAgICAgcmV3cml0ZSh3KTsKICAgICAgICB3cml0ZWxuKHcsZltuXSk7CiAgICAgICAgY2xvc2Uodyk7CmVuZDsKYmVnaW4KICAgIG5oYXA7CiAgICB4dWx5OwogICAgaW5rcTsKZW5kLg==