#include <bits/stdc++.h>
using namespace std;
int a[3000000], kol[5], ans, n;
bool used[80][80][80][80];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (int i = 1; i <= n; i++) kol[a[i]]++;
  ans = 0;
  while (kol[1] > 0 && kol[2] > 0) {
    kol[1]--;
    kol[2]--;
    kol[3]++;
    ans++;
  }
  if (kol[1] > 0) {
    while (kol[1] >= 3) {
      kol[1] -= 3;
      kol[3]++;
      ans += 2;
    }
    if (kol[1] == 1) {
      if (kol[3] >= 1)
        ans++;
      else if (kol[4] >= 2)
        ans += 2;
      else
        ans = -1;
    } else if (kol[1] == 2) {
      if (kol[4] >= 1)
        ans += 2;
      else if (kol[3] >= 2)
        ans += 2;
      else
        ans = -1;
    }
  };
  if (kol[2] > 0) {
    while (kol[2] >= 3) {
      kol[2] -= 3;
      kol[3] += 2;
      ans += 2;
    }
    if (kol[2] == 1) {
      if (kol[4] >= 1)
        ans++;
      else if (kol[3] >= 2)
        ans += 2;
      else
        ans = -1;
    } else if (kol[2] == 2)
      ans += 2;
  }
  cout << ans;
  return 0;
}
