The following functions are defined:
- reverse(s): reverses the string s;
- order(s): rearranges the letters of the string s in alphabetical order;
- concat(s1,s2): concatenates all the vowels in the word s2 to the vowels in the word s1, in order;
- substr(s,x,y,p): extracts the substring located between positions x and y in the word s by stepping p positions at a time starting from position x, 1≤x≤y≤strlen(s).
Examples:
- reverse("hello"): "olleh";
- order("hello"): "ehllo";
- concat("hello","world"): "eoo";
- substr("helloworld",2,9,3): "eor";
Task
Evaluate an expression composed of calls to these functions.
The first line of the input contains the expression to be evaluated.
Output data
The first line contains the result of the evaluation, enclosed in double quotes "".
Constraints and clarifications
- 1≤strlen(expression)≤30 000;
- 1≤strlen(s)≤100, for any word s;
- In the tests, all words s are enclosed in double quotes "".
Example 1
stdin
"helloworld"
stdout
"helloworld"
Explanation
There are no operations to perform.
Example 2
stdin
reverse(order(concat("hello",substr("world",1,5,1))))
stdout
"ooe"
Explanation
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"