#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  int cnt[5] = {0, 0, 0, 0, 0};
  for (int i = 0; i < n; ++i) {
    int x;
    cin >> x;
    ++cnt[x];
  }
  int ans = 0;
  ans = min(cnt[1], cnt[2]);
  cnt[1] -= ans;
  cnt[2] -= ans;
  cnt[3] += ans;
  if (cnt[1]) {
    int part[3] = {(cnt[1] + 2) / 3, (cnt[1] + 1) / 3, (cnt[1]) / 3};
    int m = part[2];
    ans += 2 * m;
    part[0] -= m;
    part[1] -= m;
    part[2] -= m;
    cnt[3] += m;
    if (part[1]) {
      if (cnt[4] >= 1) {
        ans += 2;
      } else if (cnt[3] >= 2) {
        ans += 2;
      } else {
        ans = -1;
      }
    } else if (part[0]) {
      if (cnt[3] >= 1) {
        ans += 1;
      } else if (cnt[4] >= 2) {
        ans += 2;
      } else {
        ans = -1;
      }
    }
  } else if (cnt[2]) {
    int part[3] = {(cnt[2] + 2) / 3, (cnt[2] + 1) / 3, (cnt[2]) / 3};
    int m = part[2];
    ans += 2 * m;
    part[0] -= m;
    part[1] -= m;
    part[2] -= m;
    cnt[3] += m * 2;
    if (part[1]) {
      ans += 2;
    } else if (part[0]) {
      if (cnt[4] >= 1) {
        ans += 1;
      } else if (cnt[3] >= 2) {
        ans += 2;
      } else {
        ans = -1;
      }
    }
  }
  cout << ans << endl;
}
