== include(page="template/taskheader" task_id="cuvinte1") ==
Se consideră următoarea listă de funcții definite astfel:
1) $**reverse(s)**$: inversează cuvântul $**s**$;
2) $**order(s)**$: schimbă ordinea literelor cuvăntului $**s**$ astfel încât literele să fie ordonate alfabetic;$**s**$;
3) $**concat(s[~1~],s[~2~])**$: lipește toate vocalele cuvântului $**s[~1~]**$ la vocalele cuvântului $**s[~2~]**$, în ordine ;
4) $**substr(s,x,y,p)**$: extrage subșirul aflat între pozițiile $**x**$ și $**y**$ în cuvântul $**s**$ mergând din $**p**$ în $**p**$ (începând cu poziția $**x**$), $1 ≤ **x** ≤ **y** ≤ strlen(**s**)$;
* $**reverse(s)**$: inversează cuvântul $**s**$;
* $**order(s)**$: schimbă ordinea literelor cuvăntului $**s**$ astfel încât literele să fie ordonate alfabetic;
* $**concat(s[~1~],s[~2~])**$: lipește toate vocalele cuvântului $**s[~1~]**$ la vocalele cuvântului $**s[~2~]**$, în ordine;
* $**substr(s,x,y,p)**$: extrage subșirul aflat între pozițiile $**x**$ și $**y**$ în cuvântul $**s**$ mergând din $**p**$ în $**p**$ (începând cu poziția $**x**$), $1 ≤ **x** ≤ **y** ≤ strlen(**s**)$;
Exemple:
* $**reverse("hello")**$: "olleh";
* $**order("hello")**$: "ehllo";
* $**concat("hello","world")**$: "eoo";
* $**substr("helloworld",2,9,3)**$: "eor";
Se cere să se evalueze o expresie formată din apeluri ale acestor funcții și cuvinte puse între ghilimele ($" "$).
h2. Date de intrare
Fișierul de intrare $cuvinte1.in$ ...
Fișierul de intrare $cuvinte1.in$ va conține pe prima linie expresia de evaluat.
h2. Date de ieșire
În fișierul de ieșire $cuvinte1.out$ ...
În fișierul de ieșire $cuvinte1.out$ se va afișa rezultatul obținut în urma evaluării, între ghilimele ($" "$).
h2. Restricții
* $... ≤ ... ≤ ...$
* 1 ≤ strlen(**expresie**) ≤ 30000
* 1 ≤ strlen(**s**) ≤ 100, pentru orice cuvânt **s**
* Cuvintele conțin doar litere mici
* În teste, toate cuvintele **s** se află între ghilimele ($" "$)
h2. Exemplu
table(example).
|_. cuvinte1.in |_. cuvinte1.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicație
...
|_. cuvinte1.in |_. cuvinte1.out |_. Explicații |
| "helloworld"
| "helloworld"
| Nu există prelucrări de efectuat.
|
| reverse(order(concat("hello",substr("world",1,5,1))))
| "ooe"
| substr("world",1,5,1): "world"
concat("hello",substr("world",1,5,1)): "eoo"
order(concat("hello",substr("world",1,5,1))): "eoo"
reverse(order(concat("hello",substr("world",1,5,1)))): "ooe"
|
== include(page="template/taskfooter" task_id="cuvinte1") ==