/*
███╗ ███╗ █████╗ ██████╗ ██╗ █████╗ ███╗ ███╗ ███╗ ██╗ █████╗ ██████╗ ███████╗██╗ ██╗
████╗ ████║██╔══██╗██╔══██╗██║██╔══██╗████╗ ████║ ████╗ ██║██╔══██╗██╔══██╗██╔════╝██║ ██║
██╔████╔██║███████║██████╔╝██║███████║██╔████╔██║ ██╔██╗ ██║███████║██████╔╝█████╗ ███████║
██║╚██╔╝██║██╔══██║██╔══██╗██║██╔══██║██║╚██╔╝██║ ██║╚██╗██║██╔══██║██╔══██╗██╔══╝ ██╔══██║
██║ ╚═╝ ██║██║ ██║██║ ██║██║██║ ██║██║ ╚═╝ ██║ ██║ ╚████║██║ ██║██████╔╝███████╗██║ ██║
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═══╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝
*/
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <deque>
#include <stack>
#include <set>
#include <numeric>
using namespace std;
using ll = long long;
#define el '\n'
const ll MOD = 1e9 + 7;
int main(){
using namespace std;
int n,x,four=0,three=0,two=0,one=0;
cin>>n;
for(int i=0 ; i<n ; i++)
{
cin>>x;
if(x==4)
four++;
else if(x==3)
three++;
else if(x==2)
two++;
else
one++;
}
int groups=four;
groups+=three;
if(three>=one)
{
one=0;
}
else{
one-=three;
}
groups+=two/2;
two=two%2;
if(one<=2)
{
if(one>0 || two>0)
groups++;
}
else{
if(two==1)
{
groups++;
one-=2;
}
groups+=one/4;
if(one%4!=0)
{
groups++;
}
}
cout<<groups;
return 0;}
LyoKIOKWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVlyDilojilojilojilojilojilZcg4paI4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKVlyDilojilojilojilojilojilZcg4paI4paI4paI4pWXICAg4paI4paI4paI4pWXICAgIOKWiOKWiOKWiOKVlyAgIOKWiOKWiOKVlyDilojilojilojilojilojilZcg4paI4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWXCiDilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkSAgICDilojilojilojilojilZcgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWRCiDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilojilojilZHilojilojilojilojilojilojilZTilZ3ilojilojilZHilojilojilojilojilojilojilojilZHilojilojilZTilojilojilojilojilZTilojilojilZEgICAg4paI4paI4pWU4paI4paI4pWXIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKVlOKVneKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWRCiDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilojilojilZfilojilojilZHilojilojilZTilZDilZDilojilojilZHilojilojilZHilZrilojilojilZTilZ3ilojilojilZEgICAg4paI4paI4pWR4pWa4paI4paI4pWX4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZTilZDilZDilojilojilZEKIOKWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4pWRICDilojilojilZHilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVkeKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZEgICAg4paI4paI4pWRIOKVmuKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4pWU4pWd4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRICDilojilojilZEKIOKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVneKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ0gICAg4pWa4pWQ4pWdICDilZrilZDilZDilZDilZ3ilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVnSDilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gIOKVmuKVkOKVnQoqLwoKI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxkZXF1ZT4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8bnVtZXJpYz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwoKI2RlZmluZSBlbCAnXG4nIApjb25zdCBsbCBNT0QgPSAxZTkgKyA3OwoKaW50IG1haW4oKXsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgppbnQgbix4LGZvdXI9MCx0aHJlZT0wLHR3bz0wLG9uZT0wOwogICBjaW4+Pm47CiAgIGZvcihpbnQgaT0wIDsgaTxuIDsgaSsrKQogICB7CiAgICAgICBjaW4+Png7CiAgICAgICBpZih4PT00KQogICAgICAgIGZvdXIrKzsKICAgICAgIGVsc2UgaWYoeD09MykKICAgICAgICB0aHJlZSsrOwogICAgICAgZWxzZSBpZih4PT0yKQogICAgICAgIHR3bysrOwogICAgICAgZWxzZQogICAgICAgIG9uZSsrOwogICB9CiAgIGludCBncm91cHM9Zm91cjsKICAgZ3JvdXBzKz10aHJlZTsKICAgaWYodGhyZWU+PW9uZSkKICAgewogICAgICAgb25lPTA7CiAgIH0KICAgZWxzZXsKICAgIG9uZS09dGhyZWU7CiAgIH0KCiAgIGdyb3Vwcys9dHdvLzI7CiAgIHR3bz10d28lMjsKCiAgIGlmKG9uZTw9MikKICAgewogICAgICAgaWYob25lPjAgfHwgdHdvPjApCiAgICAgICAgZ3JvdXBzKys7CiAgIH0KICAgZWxzZXsKICAgIGlmKHR3bz09MSkKICAgIHsKICAgICAgICBncm91cHMrKzsKICAgICAgICBvbmUtPTI7CiAgICB9CgogICAgZ3JvdXBzKz1vbmUvNDsKCiAgICBpZihvbmUlNCE9MCkKICAgIHsKICAgICAgICBncm91cHMrKzsKICAgIH0KICAgfQogICBjb3V0PDxncm91cHM7CgpyZXR1cm4gMDt9CgoKCgoKCgoK