CSES - Treap I
  • Time limit: 2.00 s
  • Memory limit: 256 MB

Saat syötteenä isoista kirjaimista A-Z koostuvan merkkijonon. Merkkijonoon suoritetaan päivityksiä, joissa merkkijonon osamerkkijono siirretään eri paikkaan. Tehtävänäsi on selvittää, miltä merkkijono näyttää lopuksi.

Syöte

Syötteen ensimmäisellä rivillä on merkkijono. Seuraavalla rivillä on luku q, päivitysten lukumäärä. Seuraavat q riviä sisältävät päivitkset. Jokaisella kyselyrivillä on kolme lukua: a, b ja d. Tämä tarkoittaa sitä, että osamerkkijono joka alkaa a. merkistä ja päättyy b. merkkiin siirretään d paikkaa eteenpäin (jos d on negatiivinen, osamerkkijonoa siirretään -d paikkaa taaksepäin).

Tuloste

Tuloste on yksi rivi, joka sisältää merkkijonon päivitysten jälkeen.

Rajat

  • Merkkijonon pituus n on vähintään 1 ja enintään 5\cdot 10^5
  • 1\leq a\leq b\leq n
  • 1\leq q\leq 5\cdot 10^5

Esimerkki

Syöte:

ANNCBABAIA
5
2 9 1
2 5 3
8 8 -5
5 8 1
6 8 -2

Tuloste:

ABCBANAANI