#include<iostream>
#include<cstdio>
using namespace std;
#define mod ((long long)1e9+7)
long long m[200005],hole[200005];
inline long long ksm(long long a, long long b)
{
long long r=1;
while(b!=0){
if(b&1)r=r*a%mod;
a=a*a%mod,b>>=1;
}
return r%mod;
}
int main()
{
long long n;
scanf("%lld",&n);
long long cnt=ksm(2,n);
long long minm=(long long)1e9;
for(int i=1;i<=n;i++)
{
scanf("%lld",&m[i]);
minm=min(minm,m[i]);
}
long long minn=(long long)1e9;
for(int i=1;i<=n;i++)
{
scanf("%lld",&hole[i]);
minn=min(min(hole[i]-1,m[i]-hole[i]),minn);
}
cnt-=2;
cout<<(cnt*(minn)+minm)%mod;
return 0;
}