func_code_string: #include <bits/stdc++.h>   using namespace std;   long long n, tmp;   map<long long, int> b;   long long j = 1, c[33];   void make_two_pow() {     long long i = 2;     while (j <= 32) {       c[j++] = i;       i *= 2;     }   }   int main() {     ios::sync_with_stdio(false);     cin.tie(nullptr);     cout.tie(nullptr);     cin >> n;     for (int i = 0; i < n; i++) {       cin >> tmp;       b[tmp]++;     }     make_two_pow();     long long ans = 0;     for (auto& v : b) {       bool flag = false;       for (int i = 1; i < 33; i++) {         tmp = b.count(c[i] - v.first);         if (tmp) {           if (b[c[i] - v.first] >= 2) {             flag = true;             break;           }           if (c[i] - v.first != v.first) {             flag = true;             break;           }         }       }       if (!flag) {         ans += b[v.first];       }     }     cout << endl << ans << endl;     return 0;   }   