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
import java.util.PriorityQueue;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner stdin = new Scanner(System.in);
        /*int n = stdin.nextInt();
        for(int i = 0; i < n; i++)
        {
        	test(stdin);
        }*/
        test(stdin);
        stdin.close();
    }
    public static void test(Scanner stdin)
    {
    	int n = stdin.nextInt();
    	int[] arr = new int[n];
    	int[] help = {4,8,15,16,23,42};
    	PriorityQueue<Integer>[] pq = new PriorityQueue[6];
    	for(int i = 0; i < 6; i++)
    	{
    		pq[i] = new PriorityQueue<>(); 
    	}
    	for(int i = 0; i < n; i++)
    	{
    		arr[i]= stdin.nextInt();
    		int u = 0;
    		while(help[u] != arr[i])
    		{
    			u++;
    		}
    		pq[u].add(i);
    	}
    	
    	int count = 0;
    	int pos = 0;
    	int current = 0;
    	while(!pq[pos].isEmpty())
    	{
    		int item = pq[pos].poll();
    		//System.out.println(item);
    		if(item >= current)
    		{
    			current = item;
    			pos++;
    			if(pos == 6)
    			{
    				pos = 0;
    				count++;
    				current = 0;
    			}
    		}
    	}
    	System.out.println(arr.length - 6*count);
    }
}