class Solution {
public:
int singleNumber(int A[], int n) {
// Note: The Solution object is instantiated only once and is reused by each test case.
vector<int> bitNum(32, 0);
for(int i = 0; i < n; ++i)
{
for(int j = 0; j < 32; ++j)
{
if(A[i] & 1<<j)
bitNum[j]++;
}
}
int res = 0;
for(int j = 0; j < 32; ++j)
res += (bitNum[j]%3)<<j;
return res;
}
};