http://codeforces.com/problemset/problem/158/B
import java.util.Scanner;
public class Taxi {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] a = new int[5];
int num = 0;
for(int i = 1; i < n+1; i++) {
int j = scanner.nextInt();
a[j] = a[j] + 1;
}
num += a[4];
num += a[3];
num += a[2]/2;
if(a[2] % 2 != 0) {
num++;
a[2] = 1;
} else a[2] = 0;
if(a[1] <= a[2] * 2 + a[3]) System.out.println(num);
else {
int temp = a[1] - (a[2] * 2 + a[3]);
num += (temp % 4 > 0 ? 1 : 0) + temp /4;
System.out.println(num);
}
}
}