#include #include using namespace std; using namespace atcoder; using ll = long long; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < n; i++) #define rrep(i,n) for (int i = n-1; i >= 0; i--) #define rep2(i,a,b) for (int i = a; i < b; i++) #define rrep2(i,a,b) for (int i = a-1; i >= b; i--) #define rep3(i,a,b,c) for (int i = a; i < b; i+=c) #define rrep3(i,a,b,c) for (int i = a-1; i >= b; i-=c) #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() template bool chmax(T &a, T b){if (a < b){a = b;return true;} else return false;} template bool chmin(T &a, T b){if (a > b){a = b;return true;} else return false;} template struct FenwickTree{ int n; vector bit; FenwickTree(int N){ bit.resize(N+1); n = N; } T sum(int i){ i++; T s = 0; while (i > 0){ s += bit[i]; i -= i & -i; } return s; } T sum(int l, int r){ //[l,r)の総和 if (l >= r) return 0; return sum(r-1) - sum(l-1); } void add(int i, T x){ i++; while (i <= n){ bit[i] += x; i += i & -i; } } }; int n,A[200010],B[200010],C[200010]; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cin>>n; rep(i,n)cin>>A[i]; rep(i,n)cin>>B[i]; rep(i,n)C[i]=A[i]-B[i]; ll ans=0,l=0; rep(r,n-1){ if(C[r]>=C[r+1]){ ans+=(r-l+1)*(r-l)/2; l=r+1; } } ans+=(n-l)*(n-l-1)/2; cout<