


Do not print anything, just return the number of set bits in the binary representation of all integers between 1 and ‘N’.
The first line of input contains an integer ‘T’ denoting the number of test cases to run.
Then the next ‘T’ lines represent the ‘T’ test cases.
The first line of each test case contains a single integer ‘N’.
For each test case, return an integer that is equal to the count of set bits in all integers from 1 to n modulo 1e9+7.
Output for each test case will be printed in a new line.
You do not need to print anything; it has already been taken care of. Just implement the given function.
1 <= T <= 100
1 <= N <= 10^9
Time limit: 1 second
The key idea is to count the number of set bits in each number from 1 to n and return the sum of all set bits.
The algorithm will be -
Let us take the following example:
Let N = 7;
Then ,
0 = 0000
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6= 0110
7 = 0111
Observe the last the bits get flipped after (2^0 = 1)
The second last bit gets flipped after( 2^1=2)
The third last bit gets flipped after (2^2=4)
We can use the above observation to get the result. The algorithm will be: