CSES - Treap IV
  • Time limit: 4.00 s
  • Memory limit: 256 MB

Tehtävänäsi on ylläpitää järjestettyä lukutaulukkoa, johon tehdään seuraavanlaisia päivityksiä: Annetaan luvut aa, bb ja xx. Laske taulukon kohdissa a,a+1,,ba, a + 1, \ldots, b olevien lukujen summa modulo 2642^{64} ja lisää sen ja luvun xx biteittäinen XOR taulukkoon sellaiseen kohtaan, että taulukko pysyy järjestyksessä. Taulukossa on aluksi vain luku 0.

Syöte

Ensimmäisellä rivillä on luku nn, päivitysten määrä. Seuraavat nn riviä sisältävät päivitykset: jokaisella rivillä ovat päivitystä kuvaavat luvut aa, bb ja xx. Voit olettaa, että aba\leq b ja päivityksen aikaan taulukossa on vähintään bb lukua.

Tuloste

Tulosta jokaista päivitystä kohti taulukkoon lisättävä luku omalla rivillään.

Rajat

  • 1n51051\leq n \leq 5\cdot 10^5
  • 1x<2641\leq x < 2^{64}

Esimerkki

Syöte:

10
1 1 3
1 1 1
1 1 13
1 2 11
3 4 5
2 5 10
1 4 4
2 8 6
3 4 2
6 8 6

Tuloste:

3
1
13
10
8
28
8
65
9
38