#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, a;
  cin >> n;
  vector<int> grupos;
  int total = 0;
  for (int i = 0; i < n; i++) {
    cin >> a;
    grupos.push_back(a);
  }
  sort(grupos.rbegin(), grupos.rend());
  int i = 0;
  int j = n - 1;
  for (int i = 0; i <= j; i++) {
    if (grupos[i] == 4) {
      total++;
    } else if (grupos[i] == 3) {
      if (grupos[j] == 1) {
        total++;
        j--;
      } else {
        total++;
      }
    } else if (grupos[i] == 2) {
      if (grupos[j] == 2) {
        total++;
        j--;
      } else if (grupos[j] == 1) {
        j--;
        if (grupos[j] == 1) {
          total++;
          j--;
        } else {
          total++;
        }
      }
    } else if (grupos[i] == 1) {
      total += (j - i + 1) / 4;
      if (((j - i + 1) % 4) != 0) {
        total++;
      }
      break;
    }
  }
  cout << total;
}
