#include <bits/stdc++.h>
using namespace std;
long long a[25], sum[(1 << 20) + 5];
int n, f[(1 << 20) + 5], cnt[(1 << 20) + 5];
bool check(int s) {
  if (cnt[s] <= 1) return 0;
  if ((sum[s] ^ cnt[s ^ 1]) & 1) return 0;
  for (int t = (s & (s - 1)), c = cnt[s]; t; t = ((t - 1) & s)) {
    int q = s ^ t;
    if (abs(sum[t] - sum[q]) < cnt[s]) return 1;
  }
  return 0;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &a[i]);
    if (!a[i]) n--, i--;
  }
  int all = (1 << n) - 1;
  for (int i = 1; i <= all; i++) {
    cnt[i] = cnt[i >> 1] + (i & 1);
    for (int j = 1; j <= n; j++)
      if (i & (1 << (j - 1))) sum[i] += a[j];
  }
  for (int i = 1; i <= all; i++)
    if ((!f[i]) && check(i)) {
      f[i] = 1;
      int s = all ^ i;
      for (int t = s; t; t = ((t - 1) & s)) f[i | t] = max(f[i | t], f[t] + 1);
    }
  int mx = 0;
  for (int i = 0; i <= all; i++) mx = max(mx, f[i]);
  printf("%d", n - mx);
  return 0;
}
