class Solution {
public:
int countPrimeSetBits(int left, int right) {
int res = 0;
for (int i = left; i <= right; ++i){
int temp = i;
unsigned int flag = 1;
int n = 0;
while (flag){
if (flag & temp) n++;
flag = flag << 1;
}
if (n == 2 || n == 3 || n == 5 || n == 7 || n == 11 || n == 13 || n == 17 || n == 19 || n == 23 || n == 29 || n == 31 ) res++;
}
return res;
}
};