from collections import defaultdict from bisect import bisect_right, bisect_left N = int(input()) R = list(map(int, input().split())) G = list(map(int, input().split())) B = list(map(int, input().split())) B.sort() #rdd = defaultdict(int) #gdd = defaultdict(int) rnum = [0]*(3*10**3+1) gnum = [0]*(3*10**3+1) for i in range(N): # rdd[R[i]] += 1 # gdd[G[i]] += 1 rnum[R[i]] += 1 gnum[G[i]] += 1 # print(rdd, gdd) ans = 0 maxR = max(R) for i in range(1, maxR+1): for j in range(1, i+1): add = rnum[i]*gnum[j]*(bisect_right(B, i) - bisect_right(B, i-j)) ans += add """ if r < g: continue add = rv*gv*(bisect_right(B, r) - bisect_right(B, r-g)) # print(add) """ print(ans)