#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  while (cin >> n) {
    int a[5] = {0, 0, 0, 0, 0};
    int sum = 0;
    for (int i = 0; i < n; ++i) {
      int x;
      cin >> x;
      a[x]++, sum += x;
    }
    if (sum == 1 || sum == 2 || sum == 5) {
      cout << -1 << endl;
      continue;
    }
    int ans = 0;
    int k = min(a[1], a[2]);
    a[1] -= k, a[2] -= k, a[3] += k, ans += k;
    if (a[1]) {
      k = a[1] / 3, ans += k * 2, a[1] %= 3, a[3] += k;
      if (a[1] == 2) {
        if (a[4]) a[4]--, a[3]++, ans += 2, a[1] -= 2;
        if (a[2] && a[1]) a[2]--, a[1]--, a[3]++, ans++;
        if (a[2] && a[1]) a[2]--, a[1]--, a[3]++, ans++;
        if (a[1] && a[3]) a[3]--, a[1]--, a[4]++, ans++;
        if (a[1] && a[3]) a[3]--, a[1]--, a[4]++, ans++;
      } else if (a[1] == 1) {
        if (a[2])
          a[3]++, a[2]--, ans++;
        else if (a[3])
          a[3]--, a[4]++, ans++;
        else
          a[4] -= 2, a[3]++, ans += 2;
      }
    }
    k = a[2] / 3, a[2] %= 3, ans += 2 * k, a[3] += k * 2;
    if (a[2]) {
      if (a[2] <= a[4])
        ans += a[2];
      else
        ans += 2;
    }
    cout << ans << endl;
  }
  return 0;
}
