def solve(n, A, B): C = [a - b for a, b in zip(A, B)] C.append(-1 << 30) ans = 0 r = 0 for l in range(n): if l == r: r += 1 while C[r - 1] < C[r]: r += 1 ans += r - l - 1 return ans n = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) print(solve(n, A, B)) exit() def stupid(n, A, B): ans = 0 for l in range(n): for r in range(l + 1, n): ok = True for ll in range(l, r + 1): for rr in range(ll + 1, r + 1): if A[ll] + B[rr] >= A[rr] + B[ll]: ok = False break if not ok: break ans += ok return ans import random random.seed(0) for _ in range(100): n = 4 A = random.sample(range(1, 6), k=n) A.sort() B = random.choices(range(1, 6), k=n) assert solve(n, A, B) == stupid(n, A, B), (n, A, B, solve(n, A, B), stupid(n, A, B))