#include <iostream>
using namespace std;
int n, z[5];
int main(){
cin >> n;
int x;
for (int i = 1;i <= n;i ++){
cin >> x;
z[x]++;
}
int res=z[4];
if (z[3]<z[1]){
res+=z[3];
z[1] = z[1]-z[3];
}else{
res+=z[3];
z[1] = 0;
}
res+=z[2]/2;
res+=z[1]/4;
if (z[2]>0) z[2] = z[2]%2;
if (z[1]>0) z[1] = z[1]%4;
if (z[2]>0){
if (z[1]==3) res+=2;
else res+=1;
}else{
if (z[1]>0) res+=1;
}
cout << res;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBuLCB6WzVdOwoKaW50IG1haW4oKXsKCWNpbiA+PiBuOwoJaW50IHg7Cglmb3IgKGludCBpID0gMTtpIDw9IG47aSArKyl7CgkJY2luID4+IHg7CgkJelt4XSsrOwoJfQoJaW50IHJlcz16WzRdOwoJaWYgKHpbM108elsxXSl7CgkJcmVzKz16WzNdOwoJCXpbMV0gPSB6WzFdLXpbM107Cgl9ZWxzZXsKCQlyZXMrPXpbM107CgkJelsxXSA9IDA7Cgl9CglyZXMrPXpbMl0vMjsKCXJlcys9elsxXS80OwoJaWYgKHpbMl0+MCkgelsyXSA9IHpbMl0lMjsKCWlmICh6WzFdPjApIHpbMV0gPSB6WzFdJTQ7CglpZiAoelsyXT4wKXsKCQlpZiAoelsxXT09MykgcmVzKz0yOwoJCWVsc2UgcmVzKz0xOwoJfWVsc2V7CgkJaWYgKHpbMV0+MCkgcmVzKz0xOwoJfQoJY291dCA8PCByZXM7CglyZXR1cm4gMDsKCQp9