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
ll = lambda: list(map(int, input().split()))
testcases = 1
# testcases = int(input())
for testcase in range(testcases):
    [n]=ll()
    arr=ll()
    index=[[] for i in range(6)]
    freq=[0,0,0,0,0,0]
    ref=[4,8,15,16,23,42]
    ind={}
    for i in range(6):
        ind[ref[i]]=i
    for indic,i in enumerate(arr):
        index[ind[i]].append(indic)
        freq[ind[i]]+=1
    for i in range(6):
        index[i]=index[i][::-1]
    ans=0
    f=1
    # print(index)
    while(f==1):
        temp=[]
        for i in range(6):
            if index[i]!=[]:
                temp.append(index[i][-1])

            else:
                f=0
                break

        if temp==list(sorted(temp)) and len(temp)==6:
            for j in range(6):
                index[j].pop()
            ans+=1
        elif(len(temp)==6):
            i=0
            for i in range(1,len(temp)):
                if temp[i] < temp[i-1]:
                    index[i].pop()
                    break


    # print(ans)
    print(n-6*(ans))