#include <bits/stdc++.h>
using namespace std;
vector<int> prime_Numbers;
bool primes[1000005];
void prime(int n) {
  for (int i = 2; i <= n; i++) primes[i] = true;
  for (int i = 2; i <= n; i++) {
    if (primes[i] == true) {
      prime_Numbers.push_back(i);
      for (int j = i + i; j <= n; j += i) primes[j] = false;
    }
  }
}
int fib(int n) {
  if (n == 1 || n == 0) return n;
  return fib(n - 1) + fib(n - 2);
}
long long fastpower(int b, int p) {
  if (p == 0) return 1;
  long long term = fastpower(b, p / 2);
  term *= term;
  if (p % 2 != 0) return term *= b;
  return term;
}
long long arr[100005], acc[100005];
int main() {
  int n, cntr2 = 0, cntr1 = 0;
  cin >> n;
  int arr[n + 2];
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
    if (arr[i] == 2)
      cntr2++;
    else
      cntr1++;
  }
  if (cntr2 > cntr1) {
    cout << cntr1;
  } else {
    cout << cntr2 + ((cntr1 - cntr2) / 3);
  }
  return 0;
}
