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 qq, päivitysten lukumäärä. Seuraavat qq riviä sisältävät päivitkset. Jokaisella kyselyrivillä on kolme lukua: aa, bb ja dd. Tämä tarkoittaa sitä, että osamerkkijono joka alkaa aa. merkistä ja päättyy bb. merkkiin siirretään dd paikkaa eteenpäin (jos dd on negatiivinen, osamerkkijonoa siirretään d-d paikkaa taaksepäin).

Tuloste

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

Rajat

  • Merkkijonon pituus nn on vähintään 11 ja enintään 51055\cdot 10^5
  • 1abn1\leq a\leq b\leq n
  • 1q51051\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