#include <bits/stdc++.h>
using namespace std;
long long x[9999999];
int a = 0, b, c, n;
int bbb(int iw, int zw, long long t) {
  if (t > x[zw] || t < x[iw]) return 0;
  while (zw >= iw) {
    int qccc = (iw + zw) >> 1;
    if (t < x[qccc])
      zw = qccc - 1;
    else if (x[qccc] < t)
      iw = qccc + 1;
    else
      return 1;
  }
  return 0;
}
int checkk(int r) {
  for (int i = 32; i >= 0; i--) {
    long long qwe = (1LL << i);
    if (qwe <= x[r]) return 0;
    if (bbb(1, r - 1, qwe - x[r]) || bbb(r + 1, n, qwe - x[r])) return 1;
  }
  return 0;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i < n + 1; i++) {
    scanf("%lld", &x[i]);
  }
  sort(x + 1, x + n + 1);
  for (int i = 1; i <= n; i++) {
    if (!checkk(i)) a++;
  }
  printf("%d", a);
  return 0;
}
