Завтра у хоккейной команды, которой руководит Евгений, важный матч. Евгению нужно выбрать шесть игроков, которые выйдут на лед в стартовом составе: один вратарь, два защитника и три нападающих.

Так как это стартовый состав, Евгения больше волнует, насколько красива будет команда на льду, чем способности игроков. А именно, Евгений хочет выбрать такой стартовый состав, чтобы номера любых двух игроков из стартового состава отличались не более, чем в два раза. Например, игроки с номерами 13, 14, 10, 18, 15 и 20 устроят Евгения, а если, например, на лед выйдут игроки с номерами 8 и 17, то это не устроит Евгения.

Про каждого из игроков вам известно, на какой позиции он играет (вратарь, защитник или нападающий), а также его номер. В хоккее номера игроков не обязательно идут подряд. Посчитайте число различных стартовых составов из одного вратаря, двух защитников и трех нападающих, которые может выбрать Евгений, чтобы выполнялось его условие красоты.
Первая строка содержит три целых числа *g*, *d* и *f* (1 ≤ *g* ≤ 1 000, 1 ≤ *d* ≤ 1 000, 1 ≤ *f* ≤ 1 000) — число вратарей, защитников и нападающих в команде Евгения. 

Вторая строка содержит *g* целых чисел, каждое в пределах от 1 до 100 000 — номера вратарей.

Третья строка содержит *d* целых чисел, каждое в пределах от 1 до 100 000 — номера защитников.

Четвертая строка содержит *f* целых чисел, каждое в пределах от 1 до 100 000 — номера нападающих.

Гарантируется, что общее количество игроков не превосходит 1 000, т. е. *g* + *d* + *f* ≤ 1 000. Все *g* + *d* + *f* номеров игроков различны.
В первом примере всего один вариант для выбора состава, который удовлетворяет описанным условиям, поэтому ответ 1.

Во втором примере подходят следующие игровые сочетания (в порядке вратарь-защитник-защитник-нападающий-нападающий-нападающий):
 -  16 20 12 13 21 11 -  16 20 12 13 11 10 -  16 20 19 13 21 11 -  16 20 19 13 11 10 -  16 12 19 13 21 11 -  16 12 19 13 11 10 
Таким образом, ответ на этот пример — 6.
1 2 3
15
10 19
20 11 13
1
2 3 4
16 40
20 12 19
13 21 11 10
6
4 4 5
15 16 19 6
8 11 9 18
5 3 1 12 14
0
6 7 7
32 35 26 33 16 23
4 40 36 12 28 24 3
39 11 31 37 1 25 6
120
9 10 7
935 433 848 137 548 958 758 576 592
780 129 631 991 575 421 245 944 487 771
430 34 276 8 165 188 727
0
17 15 17
598 1369 806 247 1570 361 1650 1250 1269 1744 1400 1074 947 115 863 1392 1044
1252 1797 1574 1445 1274 246 1483 1814 231 804 543 1142 1425 125 1280
1276 1724 512 1975 1215 1205 1415 1141 993 199 1318 855 389 376 1386 146 1297
108025
29 20 26
250 44 142 149 3 84 85 267 191 144 100 164 66 125 278 37 244 288 124 50 47 16 141 93 9 242 78 238 59
176 276 33 91 248 234 205 60 8 80 81 88 4 213 53 175 290 206 168 185
10 56 225 193 73 209 246 296 152 146 221 294 275 83 42 192 23 24 82 226 70 222 189 20 210 265
360518
30 24 30
61 189 108 126 2 180 15 141 75 67 115 107 144 196 4 135 38 106 146 136 31 114 14 49 158 54 173 69 91 98
151 109 46 182 23 94 39 168 165 30 103 66 179 70 40 198 8 152 163 87 176 187 55 3
65 140 21 142 80 185 125 19 190 157 73 186 58 188 105 93 83 1 7 79 52 82 113 13 10 164 174 119 96 78
670920
29 42 50
605 254 369 842 889 103 937 235 135 698 482 883 738 467 848 70 1000 129 970 58 94 873 140 363 133 913 834 727 185
17 676 703 245 149 296 800 106 153 111 285 382 12 704 830 664 30 533 604 380 469 155 216 466 36 347 270 170 10 349 86 5 164 599 517 593 373 461 908 34 569 573
614 439 78 172 109 217 85 463 720 176 571 486 503 318 977 501 910 196 882 107 584 940 928 249 537 962 333 477 897 875 500 915 227 256 194 808 193 759 934 324 525 174 792 425 449 843 824 261 654 868
7743753
1 2 3
1
100 200
300 400 500
0
40 40 40
1 118 100 19 91 115 34 22 28 55 43 109 13 94 7 4 31 79 10 52 16 88 37 112 97 76 70 25 64 103 61 106 58 85 67 40 82 49 46 73
59 80 23 113 35 56 95 116 107 44 65 26 38 98 47 14 86 11 50 89 29 119 41 5 17 71 92 110 2 32 20 104 83 8 53 77 62 101 74 68
63 78 54 90 75 3 99 6 93 42 111 9 51 102 57 81 66 48 21 87 12 84 117 24 69 120 15 45 33 108 39 72 18 60 105 114 96 36 30 27
9339317
40 40 40
100 73 109 115 40 88 58 76 22 31 34 7 97 61 70 16 10 64 103 94 79 106 67 13 118 43 85 46 19 112 1 55 4 91 28 49 37 82 52 25
9 72 102 21 51 90 69 114 27 60 75 18 42 78 120 84 57 39 93 3 6 63 117 48 99 111 24 45 108 54 33 12 30 81 87 36 15 96 105 66
119 98 113 23 116 71 83 56 68 65 44 50 29 107 26 38 5 35 14 101 86 77 62 80 89 92 104 2 59 20 11 74 53 47 17 32 95 41 8 110
9166683
40 40 40
116 101 80 62 38 11 20 50 65 41 110 119 68 56 5 53 83 14 107 98 104 92 32 2 113 95 71 59 89 23 74 86 29 35 47 17 77 8 26 44
67 97 22 37 4 55 46 100 40 16 64 79 43 19 82 109 34 10 52 7 88 85 1 13 73 94 25 106 91 115 58 31 61 28 70 112 76 49 118 103
39 6 57 120 87 51 81 99 90 15 33 21 12 66 3 48 114 111 75 9 27 117 105 72 42 102 60 108 18 84 93 69 63 30 78 54 24 36 45 96
9199268
40 40 40
86 41 89 2 32 29 11 107 20 101 35 8 59 47 104 74 56 50 95 92 53 119 68 113 14 77 71 23 38 5 62 44 65 83 110 98 116 80 17 26
96 75 60 30 57 78 108 12 36 93 111 66 6 48 72 33 3 84 90 45 9 117 42 18 21 120 114 24 51 15 39 63 69 87 27 102 105 54 81 99
94 10 1 112 22 103 109 46 82 25 40 34 61 79 19 85 13 70 106 28 31 118 97 67 76 16 91 115 58 4 88 49 73 52 55 7 100 64 43 37
8979951
40 40 40
33 69 27 30 72 108 57 75 99 42 66 84 15 24 120 54 9 87 60 18 117 93 6 39 111 81 21 48 96 12 102 78 3 105 90 45 114 36 51 63
61 40 4 7 34 55 94 46 112 19 85 97 28 100 115 79 103 82 67 109 73 91 64 16 106 22 70 1 25 49 37 76 88 43 13 118 31 52 10 58
50 59 8 56 14 86 89 110 47 104 68 95 107 77 62 17 20 38 92 83 71 53 23 113 32 101 98 11 29 65 80 74 119 116 5 35 41 2 44 26
9067332
40 40 40
93 90 27 120 108 21 12 114 66 45 48 57 9 81 18 75 111 39 6 102 117 15 30 3 51 96 99 33 72 24 78 54 36 87 105 69 42 63 84 60
107 83 77 104 95 65 113 35 8 86 89 119 29 98 68 38 92 110 14 5 23 56 50 59 2 47 41 26 11 116 44 74 80 101 53 17 71 20 62 32
22 7 43 40 85 49 79 31 46 61 118 82 115 67 112 34 28 13 88 91 73 16 25 4 19 70 37 1 103 10 55 76 97 94 58 64 52 106 100 109
9020649
2 1 3
10 20
15
13 14 16
0
2 2 2
10 11
12 13
14 15
0
1 2 1
10
11 12
13
0
import math

s = input().split()
v = int(s[0])
z = int(s[1])
if z < 2:
    print(0)
    exit()
a = int(s[2])
if a < 3:
    print(0)
    exit()

v_list = sorted(input().split())
z_list = sorted(input().split())
a_list = sorted(input().split())
count = 0

def _nice_check(mass):
    max_list = max(mass)
    min_list = min(mass)
    if max_list / min_list <= 2:
        return True
    else:
        return False

def _cut_down_list(sorted_mass, num):
    i = 0
    j = len(sorted_mass)
    while j > i:
        mid = i + len(sorted_mass[i:j])//2
##        print("обрез масива: "+ str(sorted_mass[i:j]))
##        print("(Индекс среднего)= " + str(mid))
##        print("само среднее = " + str(sorted_mass[mid]))
##        print("j = " + str(j))
##        print("i = " + str(i))
        if int(sorted_mass[mid]) > num:
            j = mid
        elif int(sorted_mass[mid]) < num:
            i = mid + 1
        else:
##            print("Вышел на равно")
            return mid
    return i

def _cut_up_list(sorted_mass, num):
    i = 0
    j = len(sorted_mass)
    while j > i:
        mid = i + len(sorted_mass[i:j])//2
##        print("обрез масива: "+ str(sorted_mass[i:j]))
##        print("(Индекс среднего)= " + str(mid))
##        print("само среднее = " + str(sorted_mass[mid]))
##        print("j = " + str(j))
##        print("i = " + str(i))
        if int(sorted_mass[mid]) > num:
            j = mid
        elif int(sorted_mass[mid]) < num:
            i = mid + 1
        else:
##            print("Вышел на равно")
            return mid + 1
    return i

def _C(n, k):
    return math.factorial(n)/(math.factorial(k) * math.factorial(n-k))

team = [-1]*6

for i in v_list:
    team[0] = int(i)
    for j in range(len(z_list)-1):
        team[1] = int(z_list[j])
        for k in range(j+1, len(z_list)):
            team[2] = int(z_list[k])
            if _nice_check(team[:3]):
##                print("Подходящее начало = " + str(team[:3]))
                cut_up = _cut_up_list(a_list, 2*min(team[:3]))
                cut_down = _cut_down_list(a_list, (max(team[:3])+1)//2)
                a_good = a_list[cut_down:cut_up]
##                print(a_good)
                for q in range(len(a_good)-2):
##                    print("в резку число = " + str(2*int(a_good[q])))
##                    print("И массив " + str(a_good[q:]))
                    cut_up = _cut_up_list(a_good, 2*int(a_good[q]))
##                    print("обрежу по элемент" + str(cut_up))
##                    print("получу массив: " + str(a_good[q:cut_up]))
                    if len(a_good[q:cut_up]) >= 3:
                        count += _C(len(a_good[q:cut_up]), 3)





print(int(count))