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())
if n==0:
    ar = []
else:
    ar = list(map(int,input().split()))
ind = {}
ind[4] = []
ind[8] = []
ind[15] = []
ind[16] = []
ind[23] = []
ind[42] = []
for i in range(len(ar)):
    k = ar[i]
    if k in ind:
        ind[k].append(i)
ans = 0
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = ind[4]
h = ind[8]
i = ind[15]
j = ind[16]
k = ind[23]
l = ind[42]
while(a<len(g) and b<len(h) and c<len(i) and d<len(j) and e<len(k) and f<len(l)):
    if (a==len(g) or b==len(h) or c==len(i) or d==len(j) or e==len(k) or f==len(l)):
        break
    while(b<len(h) and g[a]>h[b]):
        b += 1
    if (a == len(g) or b == len(h) or c == len(i) or d == len(j) or e == len(k) or f == len(l)):
        break
    while (c < len(i) and h[b] > i[c]):
        c += 1
    if (a==len(g) or b==len(h) or c==len(i) or d==len(j) or e==len(k) or f==len(l)):
        break
    while (d < len(j) and i[c] > j[d]):
        d += 1
    if (a==len(g) or b==len(h) or c==len(i) or d==len(j) or e==len(k) or f==len(l)):
        break
    while (e < len(k) and j[d] > k[e]):
        e += 1
    if (a==len(g) or b==len(h) or c==len(i) or d==len(j) or e==len(k) or f==len(l)):
        break
    while (f < len(k) and k[e] > l[f]):
        f += 1
    if (a==len(g) or b==len(h) or c==len(i) or d==len(j) or e==len(k) or f==len(l)):
        break
    if a<len(g) and b<len(h) and c<len(i) and d<len(j) and e<len(k) and f<len(l):
        ans += 1
        a += 1
        b += 1
        c += 1
        d += 1
        e += 1
        f += 1
print(len(ar)-6*ans)