# include <iostream>
# include <vector>
# include <algorithm>
using namespace std;
int main() {
int n,x;
cin >> n;
int cnt = 1;
vector <int> v;
for (int i = 0; i < n; i++) {
cin >> x;
cnt += x == 4;
v.push_back(x);
}
sort(v.rbegin(), v.rend());
int sz = 4;
bool f = false;
for (int i = 0; i < n; i++) {
if (v[i] != 4) {
if (sz - v[i] < 0) {
sz = 4 - v[i];
cnt++;
} else sz -= v[i];
}
}
cout << cnt;
return 0;
}
IyBpbmNsdWRlIDxpb3N0cmVhbT4KIyBpbmNsdWRlIDx2ZWN0b3I+CiMgaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgbix4OwoJY2luID4+IG47CgkKCWludCBjbnQgPSAxOwoJdmVjdG9yIDxpbnQ+IHY7Cglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJCWNpbiA+PiB4OwoJCWNudCArPSB4ID09IDQ7CgkJdi5wdXNoX2JhY2soeCk7Cgl9CgkKCXNvcnQodi5yYmVnaW4oKSwgdi5yZW5kKCkpOwoJaW50IHN6ID0gNDsKCWJvb2wgZiA9IGZhbHNlOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCQlpZiAodltpXSAhPSA0KSB7CgkJCWlmIChzeiAtIHZbaV0gPCAwKSB7CgkJCQlzeiA9IDQgLSB2W2ldOwkJCgkJCQljbnQrKzsKCQkJfSBlbHNlIHN6IC09IHZbaV07CgkJfQoJfQoJCgljb3V0IDw8IGNudDsKCXJldHVybiAwOwp9