n개의 정수가 주어질 때, 2^n개 부분집합의 합을 모두 XOR한 값을 구한다.
정수 nnn개 A1,A2,…,AnA_1, A_2, \dots, A_nA1,A2,…,An이 주어진다. N={1,2,…,n}N = \{1, 2, \dots, n\}N={1,2,…,n}이라고 하자.
NNN의 부분집합 III에 대해 SIS_ISI를 다음과 같이 정의한다.
SI=∑k∈IAkS_I = \sum_{k \in I} A_kSI=∑k∈IAk
즉 III에 속한 첨자 kkk의 AkA_kAk를 모두 더한 값이다. 공집합의 합은 0이고, NNN 자신도 부분집합으로 센다. 그러므로 SIS_ISI는 모두 2n2^n2n개다.
이 2n2^n2n개의 값을 전부 비트 단위 배타적 논리합(XOR)한 결과를 XXX라고 하자.
X=⨁I⊆NSIX = \bigoplus_{I \subseteq N} S_IX=⨁I⊆NSI
XXX를 구하라.
첫째 줄에 nnn이 주어진다. (1≤n≤301 \le n \le 301≤n≤30)
둘째 줄에 nnn개의 정수 A1,A2,…,AnA_1, A_2, \dots, A_nA1,A2,…,An이 공백으로 구분되어 주어진다. (0≤Ai<2300 \le A_i < 2^{30}0≤Ai<230)
첫째 줄에 XXX를 출력한다.