Zadanie

Grandiózny stroj

Počet bodov: 50

Dušan sa veľmi rád prechádza po zákutiach Matfyzu. Našiel tam už veľa zaujímavých vecí, ale asi najviac ho zaujal nejaký úplne divný a staro vyzerajúci stroj, ktorý bol v suteréne.

Stroj mal 2 pásky - jedna bola jeho pamäť a na druhú vedel vypisovať výstup. Na každom políčku v pracovnej páske si tento stroj vedel pamatať jedno 8-bitové číslo, teda niečo z rozsahu \(0 - 255\). Na pracovnej páske bola hlava, ktorá vedela čítať dáta z políčka pod ňou a taktiež modifikovať dáta na páske.

Ku stroju bol prichystaný aj manuál, v ktorom bol nasledovný zoznam inštrukcii, ktoré stroj podporuje:

Vypisovanie funguje nasledovne:

Úloha

Na vstupe dostanete program pre tento stroj. Vašou úlohou bude zistiť, čo tento program vypíše na výstupnú pásku.

Dávajte si pozor na to, že čísla v pamäti sú 8-bitové, teda hodnoty nám vedia pretiecť (napr. \(250+6 = 0 \neq 256\), \(250+7 = 1\), \(1 - 7 = 250\), …). Čísla v pamäti nemôžu byť záporné.

Vstup a Výstup

Vstup obsahuje 2 riadky na prvom je číslo \(n (1 \leq n \leq 10^6)\) - počet inštrukcii, ktoré stroj má vykonať. Na druhom riadku je samotný program pre stroj. Inštrukcie nie sú ničím oddelené. Všetky parametre \(x\) do inštrukcii sú z intervalu \((0, 25)\) a sú špecifikované malými písmenami anglickej abecedy (\(a = 0\), … , \(z = 25\)).

Na výstup vypíšte celý obsah výstupnej pásky stroja. Ak sa stroj niekedy počas vykonávania nejakej inštrukcie zasekol, vypíšte crash - To, čo sa výpísalo na výstupnú pásku dovtedy, treba vypísať taktiež. Nezabudnite, že výstup by sa mal končiť znakom nového riadku.

Príklad

Input:

30
IiRbIiMdIdPLbPRcIpPLcIcPRdPLbIePLbSfPRcIfPRbIfLcIbP

Output:

Ahoj svet

Input:

5
IdMiPLbP

Output:

xcrash

Snažili sme sa posunúť hlavu až moc doľava, stroj sa teda zasekol

Pre odovzdávanie sa musíš prihlásiť.