Vi får en array $a_0, a_1, \dots, a_{2^n-1}$ av längd $2^n$. För en sträng $q$ av längd $n$ över alfabetet 0, 1, ? (1-indexerad), definierar vi den "generaliserade delmängdssumman" $S(q)$ som summan av $a_j$ över alla index $j$ som uppfyller:
- För varje $1 \le k \le n$, om $q_k = \texttt{0}$ så är den $k$-te biten i $j$ lika med $0$.
- För varje $1 \le k \le n$, om $q_k = \texttt{1}$ så är den $k$-te biten i $j$ lika med $1$.
- Om $q_k = \texttt{?}$ finns det ingen begränsning på den $k$-te biten i $j$.
Till exempel, när $n = 3$ och $q = \texttt{0?1}$, är den generaliserade delmängdssumman $S(q) = a_4 + a_6$ (binärt $\texttt{100}$ och $\texttt{110}$). Observera att den första biten är den minst signifikanta biten.
Din uppgift är att beräkna den generaliserade delmängdssumman för varje sträng av längd $n$ över alfabetet 0, 1, ?. Eftersom den totala utdatan kan vara stor behöver du bara skriva ut det bitvisa XOR-värdet (bitwise XOR) av alla dessa summor.
Indata
Den första raden i indatan innehåller ett heltal $n$ ($1 \le n \le 16$).
Den andra raden i indatan innehåller $2^n$ heltal $a_0, a_1, \dots, a_{2^n-1}$ ($0 \le a_i \le 9$), innehållet i arrayen $a$.
Utdata
Skriv ut ett heltal som anger det bitvisa XOR-värdet av alla generaliserade delmängdssummor.
Exempel
Exempelindata 1
1 3 5
Exempelutdata 1
14
Exempelindata 2
2 2 6 8 8
Exempelutdata 2
0
Förklaring
Följande är frågesträngarna $q$ och deras motsvarande generaliserade delmängdssummor $S(q)$ i exempel 2:
- $q = \texttt{00}, S(q) = a_0 = 2$
- $q = \texttt{10}, S(q) = a_1 = 6$
- $q = \texttt{?0}, S(q) = a_0 + a_1 = 2 + 6 = 8$
- $q = \texttt{01}, S(q) = a_2 = 8$
- $q = \texttt{11}, S(q) = a_3 = 8$
- $q = \texttt{?1}, S(q) = a_2 + a_3 = 16$
- $q = \texttt{0?}, S(q) = a_0 + a_2 = 10$
- $q = \texttt{1?}, S(q) = a_1 + a_3 = 14$
- $q = \texttt{??}, S(q) = a_0 + a_1 + a_2 + a_3 = 24$
Nu är det lätt att verifiera att utdatan är $0$.