import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.PriorityQueue; public class Main { public static int[] dp; public static void main(String[] args) throws NumberFormatException, IOException{ ContestScanner in = new ContestScanner(); int n = in.nextInt(); String s = in.nextToken(); int[] alp = new int[26]; for(int i=0; i=alp[20]){ alp[24] -= alp[20]; resY = alp[24]; alp[20] = 0; }else{ alp[20] -= alp[24]; alp[24] = 0; } int num = 0; for(int i=11; i<=20; i++){ num += alp[i]; } if(max <= num){ System.out.println(count+num+resY/2); return; } count += num; max -= num; num = 0; max = Math.min(alp[10], max); if(max>=alp[10]){ resY += max - alp[10]; alp[10] = 0; }else{ alp[10] -= max; } num += alp[9]+alp[10]; if(max <= num){ System.out.println(count+num+resY/2); return; } count += num; max -= num; max = Math.min(alp[8], max); if(max>=alp[8]){ resY += max - alp[8]; alp[8] = 0; }else{ alp[8] -= max; } num = 0; for(int i=0; i<=8; i++){ num += alp[i]; } count += Math.min(max, num); if(max > num){ max -= num; resY += max; } System.out.println(count+resY/2); } } class MyComp implements Comparator{ public int compare(int[] a, int[] b) { return a[0] - b[0]; } } // //class Reverse implements Comparator{ // public int compare(Integer arg0, Integer arg1) { // return arg1 - arg0; // } //} class Node{ int id; List edge = new ArrayList(); public Node(int id){ this.id = id; } public void createEdge(Node node){ edge.add(node); } } class MyMath{ public final static double PIhalf = Math.PI/2.0; public static double pAngle(double x, double y){ // ベクトル(1, 0)と(x, y)とのなす角を返す(rad:0 to 2pi) if(x == 0){ if(y == 0){ System.err.println("pAngle error: zero vector."); return 0; }else if(y < 0){ return PIhalf*3.0; }else{ return PIhalf; } } double rad = Math.atan(y/x); if(rad < 0){ rad += Math.PI*2.0; } return rad; } public static long fact(long n){ long res = 1; while(n > 0){ res *= n--; } return res; } public static long[][] pascalT(int n){ long[][] tri = new long[n][]; for(int i=0; i