#include <iostream>
#include <vector>
int countPairs(const std::vector<int>& vec) {
int count = 0;
int size = vec.size();
// Loop through each unique pair (i < j)
for (int i = 0; i < size; i++) {
for (int j = i + 1; j < size; j++) {
// Check the condition: AND > XOR
if ((vec[i] & vec[j]) > (vec[i] ^ vec[j])) {
printf("%d %d\n", vec[i], vec[j]);
count++;
}
}
}
return count;
}
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5, 6};
int result = countPairs(vec);
std::cout << "Number of pairs where AND exceeds XOR: " << result << "\n";
}
/*
run:
2 3
4 5
4 6
5 6
Number of pairs where AND exceeds XOR: 4
*/