Problem4608--二进制中1的个数

4608: 二进制中1的个数

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

给定一个长度为 $n$ 的数列,请你求出数列中每个数的二进制表示中 $1$ 的个数。

Input

第一行包含整数 $n\ (1≤n≤100,000)$,
第二行包含 $n$ 个整数,表示整个数列。$0≤$ 数列中元素的值 $≤10^9$

Output

共一行,包含 $n$ 个整数,其中的第 $i$ 个数表示数列中的第 $i$ 个数的二进制表示中 $1$ 的个数。

Sample 1 Input

5
1 2 3 4 5

Sample 1 Output

1 1 2 1 2

Source/Category

算法竞赛进阶 9.1.位运算