#include <iostream>
using namespace std;
int main()
{
int n , one = 0 , two = 0 , three = 0 , four = 0 , ans = 0 ;
cin>>n ;
for(int i=1 ; i<=n ; i++)
{
int x ;
cin>>x ;
if(x==1)
one++;
else if(x ==2)
two++;
else if(x ==3)
three++;
else if(x ==4)
four++;
}
ans += four ;
ans += (two / 2) ;
int mn = min(one , three) ;
ans += mn ;
one -= mn ;
three -= mn ;
ans += three ;
int rem = two % 2 ;
if(rem == 1)
ans+= (one + 2 + 3) / 4 ;
else
ans+= (one + 3) /4 ;
cout<<ans;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpCnsKICAgIGludCBuICwgb25lID0gMCAsIHR3byA9IDAgLCB0aHJlZSA9IDAgLCBmb3VyID0gMCAsIGFucyA9IDAgOwogICAgY2luPj5uIDsKICAgIGZvcihpbnQgaT0xIDsgaTw9biA7IGkrKykKICAgIHsKICAgICAgICBpbnQgeCA7CiAgICAgICAgY2luPj54IDsKICAgICAgICBpZih4PT0xKQogICAgICAgICAgICBvbmUrKzsKICAgICAgICBlbHNlIGlmKHggPT0yKQogICAgICAgICAgICB0d28rKzsKICAgICAgICBlbHNlIGlmKHggPT0zKQogICAgICAgICAgICB0aHJlZSsrOwogICAgICAgIGVsc2UgaWYoeCA9PTQpCiAgICAgICAgICAgIGZvdXIrKzsKICAgIH0KICAgIGFucyArPSBmb3VyIDsKICAgIGFucyArPSAodHdvIC8gMikgOwogICAgaW50IG1uID0gbWluKG9uZSAsIHRocmVlKSA7CiAgICBhbnMgKz0gbW4gOwogICAgb25lIC09IG1uIDsKICAgIHRocmVlIC09IG1uIDsKICAgIGFucyArPSB0aHJlZSA7CiAgICBpbnQgcmVtID0gdHdvICUgMiA7CiAgICBpZihyZW0gPT0gMSkKICAgICAgICBhbnMrPSAob25lICsgMiArIDMpIC8gNCA7CiAgICBlbHNlCiAgICAgICAgYW5zKz0gKG9uZSArIDMpIC80IDsKICAgIGNvdXQ8PGFuczsKICAgIHJldHVybiAwOwp9