부분집합 합의 XOR

n개의 정수가 주어질 때, 2^n개 부분집합의 합을 모두 XOR한 값을 구한다.

보통7비트 연산조합론수학아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

정수 nnA1,A2,,AnA_1, A_2, \dots, A_n이 주어진다. N={1,2,,n}N = \{1, 2, \dots, n\}이라고 하자.

NN의 부분집합 II에 대해 SIS_I를 다음과 같이 정의한다.

SI=kIAkS_I = \sum_{k \in I} A_k

II에 속한 첨자 kkAkA_k를 모두 더한 값이다. 공집합의 합은 0이고, NN 자신도 부분집합으로 센다. 그러므로 SIS_I는 모두 2n2^n개다.

2n2^n개의 값을 전부 비트 단위 배타적 논리합(XOR)한 결과를 XX라고 하자.

X=INSIX = \bigoplus_{I \subseteq N} S_I

XX를 구하라.

입력

첫째 줄에 nn이 주어진다. (1n301 \le n \le 30)

둘째 줄에 nn개의 정수 A1,A2,,AnA_1, A_2, \dots, A_n이 공백으로 구분되어 주어진다. (0Ai<2300 \le A_i < 2^{30})

출력

첫째 줄에 XX를 출력한다.