Xorcisten Roxanne har en märklig förmåga, hon kan sortera listor väldigt snabbt. När hon ser en lista av heltal a_1,a_2,…,a_N så kan hon blixtsnabbt hitta ett heltal X så att a_1⊕X≤a_2⊕X≤⋯≤a_N⊕X, där ⊕ betyder \href{https://en.wikipedia.org/wiki/Bitwise\_operation\#XOR}{bitwise XOR}\footnote{Detta fungerar på följande vis: skriv båda talen i bas 2. Ta nu varje siffra (i ordning minst till högst signifikant) och skriv en nolla om de två siffrorna i talen är lika, och annars en etta. I princip är detta samma som att utföra addition av talen i bas 2 utan att använda sig av minnessiffror.}. Allt hon behöver göra sen är att byta ut a_i mot a_i⊕x och vips, så är listan sorterad!
Företag anlitar ofta Roxanne för att sortera deras jättelånga listor. Men en dag upptäckte Roxanne till sin besvikelse att hennes förmåga var borta. Din uppgift är att skriva ett program åt henne så att hon kan få behålla sitt jobb.
Du får givet en lista med icke-negativa heltal a_1,…,a_N och Q stycken ändringar på formen p_i,v_i, som betyder att talet a_p_i ändras till v_i. Du ska skriva ut Q+1 heltal c_0,c_1,…,c_Q, där c_i är det minsta icke-negativa heltalet X så att listan a_1⊕X,…,a_N⊕X är sorterad, efter det att de första i ändringarna har utförts. Om det inte finns något sånt tal X, skriv ut −1 istället.
Den första raden innehåller ett heltal N (1≤N≤106) antalet tal i listan.
Den andra raden innehåller N heltal a_1,a_2,…,a_N (0≤a_i<230), talen i listan.
Den tredje raden innehåller ett heltal Q (0≤Q≤106), antalet ändringar.
De följande Q raderna innehåller två heltal p_i (1≤p_i≤N), och v_i (0≤v_i<230) , vilket innebär att talet a_p_i ändras till v_i.
Du ska skriva ut Q+1 rader med heltal, talen c_0,c_1,…,c_Q. c_i ska vara det minsta möjliga talet x som sorterar listan efter det att ändringarna 1,2,…,i har utförts (eller −1 om det inte finns något sådant tal x).