#include <bits/stdc++.h>
using namespace std;
int n,ans;
int lspace[200005];
int rspace[200005];
int main(){
cin>>n;
for (int i=1;i<=n;i++){
cin>>rspace[i];
}
for (int i=1;i<=n;i++){
cin>>lspace[i];
rspace[i]=rspace[i]-lspace[i]+1;
}
long long s=(1<<n)-1;
for (long long i=0;i<=s;i++){
int minlength=INT_MAX;
for (int j=1;j<=n;j++){
int now;
now=i&(1<<(j-1));
if (now){
minlength=min(minlength,rspace[j]);
}else{
minlength=min(minlength,lspace[j]);
}
}
ans+=minlength-1;
}
cout<<(ans+1)%(1000000007)<<endl;
return 0;
}