#000727

Menjanje Stringa v2

Dat je string S dužine N sastavljen od malih slova engleskog alfabeta. Nad njim se, redom, izvršava Q upita jednog od sledeća tri tipa:

1 i x - zameniti i-ti znak u trenutnom stringu znakom x (1 <= i <= N, x je malo slovo engleskog alfabeta).
2 - obrnuti trenutni string, tj. zameniti prvi i poslednji znak, drugi i pretposlednji itd.
3 x - na kraju trenutnog stringa dodati znak x (x je malo slovo engleskog alfabeta).

Odrediti izgled stringa S posle svih upita.



InputPrvi red standardnog ulaza sadrži, redom, brojeve N i Q razdvojene razmakom (1 <= N, Q <= 200.000). Naredni red sadrži string S dužine N sastavljen od malih slova engleskog alfabeta. Narednih Q redova sadrže upite u gore pomenutom obliku. Upiti se izvršavaju u datom redosledu.


OutputU prvi i jedini red standardnog izlaza ispisati izgled stringa posle svih upita.



Ulaz:
5 4
abcde
1 2 n
3 f
2
1 5 c

Izlaz:
fedcca



Objašnjenje:
String se menja na sledeći način: abcde -> ancde -> ancdef -> fedcna -> fedcca



Napomena:
U 50% test primera nema upita tipa 3.

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.