#include <bits/stdc++.h>
using namespace std;

#define int long long

const int MaxN = (int)1e6 + 5;
const int MOD = (int)1e9 + 7;

int n;
int s[MaxN];
int cnt[MaxN];
int ans;

signed main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> s[i];
        cnt[s[i]]++;
    }
    sort(s + 1, s + 1 + n, greater<int>());
    for(int i = 1; i <= n; i++){
        if(s[i] == 4 && cnt[4] >= 1){
            ++ans;
            cnt[4]--;
        }
        else if(s[i] == 3 && cnt[1] >= 1 && cnt[3] >= 1){
            ++ans;
            cnt[3]--;
            cnt[1]--;
        }
        else if(s[i] == 3 && cnt[1] == 0 && cnt[3] >= 1){
            ++ans;
            cnt[3]--;
        }
        else if(s[i] == 2 && cnt[2] >= 2){
            ++ans;
            cnt[2] -= 2;
        }
        else if((s[i] == 2 && cnt[1] >= 2 && cnt[2] >= 1)){
            ++ans;
            cnt[2]--;
            cnt[1] -= 2;
        }
        else if(s[i] == 2 && cnt[1] >= 1 && cnt[2] >= 1){
            ++ans;
            --cnt[2]; --cnt[1];
        }
        else if(s[i] == 2 && cnt[2] >= 1 && cnt[1] == 0){
            ++ans;
            cnt[2]--;
        }
        else if(s[i] == 1 && cnt[1] >= 1){
            int b = 1;
            while(b <= 4 && cnt[1] > 0){
                --cnt[1];
                ++b;
            }
            ++ans;
        }
    }
    cout << ans;
    return 0;
}
