Trans
시간 제한2초메모리 제한512 MB
길이가 2^n인 배열 a가 주어질 때, 각 i마다 i AND j의 popcount가 홀수인 모든 j에 대해 a_j를 더한 값을 구합니다.
문제
밥은 팝카운트(popcount)와 특이한 변환에 관심이 있다. 현재 그는 다음 문제를 풀고 있다.
길이가 인 정수 배열 이 있다. 각 ()에 대해 아래 값 를 구하라.
여기서 는 를 이진수로 나타냈을 때 1의 개수이고, 는 비트 AND 연산이다.
밥은 아주 똑똑하지만 이 문제를 빠르게 풀지 못한다. 모든 를 계산하는 것을 도와주겠는가?
입력
첫 줄에 정수 ()이 주어진다.
둘째 줄에는 배열 를 나타내는 개의 정수가 주어진다 ().
출력
개의 정수를 한 줄에 출력한다. 번째 수는 이다.