#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 1e5 + 5, INF = 1e18;
long long n, dp[MaxN], t[MaxN], r[MaxN];
void solve1()
{
memset(dp,0,sizeof(dp));
dp[1]=t[1];
for (long long i=2; i<=n; i++)
{
dp[i]=min(dp[i-1]+t[i],dp[i-2]+r[i-1]);
}
cout << dp[n];
}
void solve2()
{
for(long long i = 0; i <= n; i++)
{
dp[i] = INF;
}
dp[0] = 0;
for(long long i = 0; i < n; i++)
{
dp[i + 1] = min(dp[i + 1], dp[i] + t[i + 1]);
if(i + 2 <= n)
{
dp[i + 2] = min(dp[i + 2], dp[i] + r[i + 1]);
}
}
cout << dp[n];
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n;
for (long long i=1; i<=n; i++)
{
cin >> t[i];
}
for (long long i=1; i<=n-1; i++)
{
cin >> r[i];
}
solve2();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSAxZTUgKyA1LCBJTkYgPSAxZTE4Owpsb25nIGxvbmcgbiwgZHBbTWF4Tl0sIHRbTWF4Tl0sIHJbTWF4Tl07CnZvaWQgc29sdmUxKCkKewogICAgbWVtc2V0KGRwLDAsc2l6ZW9mKGRwKSk7CiAgICBkcFsxXT10WzFdOwogICAgZm9yIChsb25nIGxvbmcgaT0yOyBpPD1uOyBpKyspCiAgICB7CiAgICAgICAgZHBbaV09bWluKGRwW2ktMV0rdFtpXSxkcFtpLTJdK3JbaS0xXSk7CiAgICB9CiAgICBjb3V0IDw8IGRwW25dOwp9CnZvaWQgc29sdmUyKCkKewogICAgZm9yKGxvbmcgbG9uZyBpID0gMDsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgZHBbaV0gPSBJTkY7CiAgICB9CgogICAgZHBbMF0gPSAwOwoKICAgIGZvcihsb25nIGxvbmcgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgZHBbaSArIDFdID0gbWluKGRwW2kgKyAxXSwgZHBbaV0gKyB0W2kgKyAxXSk7CgogICAgICAgIGlmKGkgKyAyIDw9IG4pCiAgICAgICAgewogICAgICAgICAgICBkcFtpICsgMl0gPSBtaW4oZHBbaSArIDJdLCBkcFtpXSArIHJbaSArIDFdKTsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCBkcFtuXTsKfQppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgY2luID4+IG47CiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PW47IGkrKykKICAgIHsKICAgICAgICBjaW4gPj4gdFtpXTsKICAgIH0KICAgIGZvciAobG9uZyBsb25nIGk9MTsgaTw9bi0xOyBpKyspCiAgICB7CiAgICAgICAgY2luID4+IHJbaV07CiAgICB9CiAgICBzb2x2ZTIoKTsKCn0=