#include <iostream>
#include <unordered_map>
int findSingleNumber(int arr[], int n) {
std::unordered_map<int, int> countMap;
for (int i = 0; i < n; i++) {
countMap[arr[i]]++;
}
for (auto it = countMap.begin(); it != countMap.end(); it++) {
if (it->second == 1) {
return it->first;
}
}
return -1;
}
int main() {
int arr[] = {1, 2, 3, 4, 3, 2, 1, 5, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int result = findSingleNumber(arr, n);
std::cout << "The number occurring only once is: " << result << std::endl;
return 0;
}