n = int(input()) r = list(map(int, input().split())) g = list(map(int, input().split())) b = list(map(int, input().split())) max_val = 3000 # Initialize frequency arrays for green and blue freq_g = [0] * (max_val + 1) for num in g: freq_g[num] += 1 freq_b = [0] * (max_val + 1) for num in b: freq_b[num] += 1 # Compute prefix sums for blue prefix_b = [0] * (max_val + 2) # prefix_b[x] is sum of frequencies up to x (1-based) for x in range(1, max_val + 1): prefix_b[x] = prefix_b[x-1] + freq_b[x] # Precompute pre[r] for all r from 1 to max_val pre = [0] * (max_val + 1) # pre[r] is the count for a red bar of length r for r_val in range(1, max_val + 1): total = 0 for g_val in range(1, r_val + 1): if freq_g[g_val] == 0: continue lb = r_val - g_val + 1 lb = max(lb, 1) ub = r_val if lb > ub: continue count_b = prefix_b[ub] - prefix_b[lb - 1] total += freq_g[g_val] * count_b pre[r_val] = total # Calculate the total answer by summing pre[r_i] for each r_i in the red array answer = 0 for red_val in r: answer += pre[red_val] print(answer)