#include <bits/stdc++.h>
typedef long long ll;
#define ALL(l)  (l).begin(),(l).end()
#define rep(i,n) for(ll (i)=0;(i)<(n);(i)++)
#define rep2(i, s, n) for (ll i = (s); i < (ll)(n); i++)
using namespace std;

 
//const ll mod =  998244353;
//const ll maxn = 1000000000;
//const ll mod = 1000000007;
 
//---------------------------------------------------------------------------------------------------
using vi = vector<int>; // intの1次元の型に vi という別名をつける
using vll = vector<ll>; // intの1次元の型に vi という別名をつける
using vvll = vector<vll>; // intの2次元の型に vvi という別名をつける
using vs = vector<string>; // stringの1次元の型に vs という別名をつける
using pll = pair<ll, ll>; // これ以降 pii という型名はpair<ll, ll> と同じ意味で使える
//---------------------------------------------------------------------------------------------------
template <typename T>
void chmax(T &a, const T& b) {
  if (a < b) {
    a = b;  // aをbで更新
  }
}
template <typename T>
void chmin(T &a, const T& b) {
  if (a > b) {
    a = b;  // aをbで更新
  }
}

int main() {
  ll n;
  cin>>n;
  vll a(n),b(n);
  
  rep(i,n)cin>>a[i];
  rep(i,n)cin>>b[i];
  
  
 // ll ans=0;
  ll maxa=0;
  ll minb=100000;
  rep(i,n){
    chmax(maxa,a[i]);
    chmin(minb,b[i]);
  }
  //cout<<maxa<<"  "<<minb<<endl;
  cout<<max(ll(0),minb-maxa+1)<<endl;
}
#include<bits/stdc++.h>
using namespace std;
long n,i,j;
set<long>s;
int main(){
	cin>>n;
	for(i=2;i*i<=n;i++){
		for(j=i*i;j<=n;j*=i)s.insert(j);
	}
	cout<<n-s.size()<<"\n";
}
