For this Question: Thomas liked a girl named Grace and he decided to reach out to her. Grace agreed to go on a date with him if he helped her solve a problem. The problem is:

You are given an equation a - x = a ⊕ x (a xor x) and an integer parameter a. You have to tell how many non- negative solutions of this equation exist.

Thomas is stuck in this problem and is asking you for your help. Help Thomas save his date.The first line of input contains a single integer T. Second line contains an integer a, parameter of the equation.

Constraints:-
1 <= T <= 100000
1 <= a <= 2^60 -1For each value of a, print the number of non- negative solutions of the given equation.Sample Input:-
3
0
2
5

Sample Output:-
1
2
4, I have written this Solution Code: #include <bits/stdc++.h>


using namespace std;

#define MEM(a, b) memset(a, (b), sizeof(a))

#define FOREACH(it, l) for (auto it = l.begin(); it != l.end(); it++)

#define IN(A, B, C) assert( B <= A && A <= C)

#define MP make_pair
#define FOR(i,a) for(int i=0;i<a;i++)

#define FOR1(i,j,a) for(int i=j;i<a;i++)

#define EB emplace_back

#define INF (int)1e9

#define EPS 1e-9

#define PI 3.1415926535897932384626433832795
#define max1 1001
#define MOD 1000000007

#define read(type) readInt<type>()

#define out(x) cout<<x<<'\n'
#define out1(x) cout<<x<<" "
#define END cout<<'\n'
#define int long long
#define sz(v) ((int)(v).size())
#define all(v) (v).begin(), (v).end()
void fast(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int check(int x){
int p = sqrt(x);
for(int i=2;i<=p;i++){
    if(x%i==0){return 1;}
}
return 0;
}
signed main(){
int t;
cin>>t;
while(t--){
  int n;
    cin>>n;
    int cnt=0;
    while(n){
        if(n&1){cnt++;}
        n/=2;
    }
    int ans =1;
    int p=2;
    while(cnt--){
        ans*=p;
    }
    out(ans);
}

}
, In this Programming Language: C++, Now tell me if this Code is compilable or not?