#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int a[N];
vector<int> v;
long long sum = 0;
int n;
int main() {
  long long ll = 1;
  for (int i = 1; i < 32; i++) {
    ll *= 2;
    v.push_back(ll);
  }
  cin >> n;
  for (int i = 0; i < n; i++) scanf("%d", &a[i]);
  sort(a, a + n);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < v.size(); j++) {
      if (v[j] <= a[i]) continue;
      sum += upper_bound(a + i + 1, a + n, v[j] - a[i]) -
             lower_bound(a + i + 1, a + n, v[j] - a[i]);
    }
  }
  cout << sum << endl;
  return 0;
}
