#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[3][5000005],v[3][5000005],ans,n;
int dx[5]={-1,1,0,0},dy[5]={0,0,-1,1};
bool isval(int x,int y){
if(x>=1&&x<=2&&y>=1&&y<=n) return 1;
return 0;
}
void dfs(int x,int y){
v[x][y]=0;
for(int i=0;i<4;i++){
int xx=x+dx[i],yy=y+dy[i];
if(isval(xx,yy)&&a[xx][yy]==0&&v[xx][yy]==1){
dfs(xx,yy);
}
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int k=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[1][i];
if(a[1][i]==0) v[1][i]=1;
}
for(int i=1;i<=n;i++){
cin>>a[2][i];
if(a[2][i]==0) v[2][i]=1;
}
for(int i=2;i<n;i++){
if(a[1][i]==0&&a[2][i]==0) k++;
}
for(int i=1;i<=2;i++){
for(int j=1;j<=n;j++){
if(v[i][j]==1){
dfs(i,j);
ans++;
}
}
}
cout<<ans+k+1;
return 0;
}