You are given an array a consisting of n integers. Each a_i is one of the six following numbers: 4, 8, 15, 16, 23, 42.

Your task is to remove the minimum number of elements to make this array good.

An array of length k is called good if k is divisible by 6 and it is possible to split it into k/6 subsequences 4, 8, 15, 16, 23, 42.

Examples of good arrays:

  * [4, 8, 15, 16, 23, 42] (the whole array is a required sequence); 
  * [4, 8, 4, 15, 16, 8, 23, 15, 16, 42, 23, 42] (the first sequence is formed from first, second, fourth, fifth, seventh and tenth elements and the second one is formed from remaining elements); 
  * [] (the empty array is good). 



Examples of bad arrays: 

  * [4, 8, 15, 16, 42, 23] (the order of elements should be exactly 4, 8, 15, 16, 23, 42); 
  * [4, 8, 15, 16, 23, 42, 4] (the length of the array is not divisible by 6); 
  * [4, 8, 15, 16, 23, 42, 4, 8, 15, 16, 23, 23] (the first sequence can be formed from first six elements but the remaining array cannot form the required sequence). 

Input

The first line of the input contains one integer n (1 ≤ n ≤ 5 ⋅ 10^5) — the number of elements in a.

The second line of the input contains n integers a_1, a_2, ..., a_n (each a_i is one of the following numbers: 4, 8, 15, 16, 23, 42), where a_i is the i-th element of a.

Output

Print one integer — the minimum number of elements you have to remove to obtain a good array.

Examples

Input


5
4 8 15 16 23


Output


5


Input


12
4 8 4 15 16 8 23 15 16 42 23 42


Output


0


Input


15
4 8 4 8 15 16 8 16 23 15 16 4 42 23 42


Output


3
n = int(input())
a = list(map(int, input().split()))
D = {4: 0, 8: 1, 15: 2, 16: 3, 23: 4, 42: 5}
d = [[] for i in range(6)]
for i in range(n):
    d[D[a[i]]].append(i)

P = [0] * 6
num = 0
while True:
    if P[0] < len(d[0]):
        k = d[0][P[0]]
    else:
        break
    while P[1] < len(d[1]) and k >= d[1][P[1]]:
        P[1] += 1
        num += 1

    if P[1] < len(d[1]):
        k = d[1][P[1]]
    else:
        break
    while P[2] < len(d[2]) and k >= d[2][P[2]]:
        P[2] += 1
        num += 1

    if P[2] < len(d[2]):
        k = d[2][P[2]]
    else:
        break
    while P[3] < len(d[3]) and k >= d[3][P[3]]:
        P[3] += 1
        num += 1

    if P[3] < len(d[3]):
        k = d[3][P[3]]
    else:
        break
    while P[4] < len(d[4]) and k >= d[4][P[4]]:
        P[4] += 1
        num += 1

    if P[4] < len(d[4]):
        k = d[4][P[4]]
    else:
        break
    while P[5] < len(d[5]) and k >= d[5][P[5]]:
        P[5] += 1
        num += 1

    flag = True
    for j in range(6):
        if P[j] >= len(d[j]):
            flag = False
            break
    else:
        for j in range(6):
            P[j] += 1

    if not flag:
        break

for i in range(6):
    num += len(d[i]) - P[i]

print(num)