#D12410. Transformation

    ID: 10317 Type: Default 1000ms 134MiB

Transformation

Transformation

Transformation

Write a program which performs a sequence of commands to a given string strstr. The command is one of:

  • print a b: print from the a-th character to the b-th character of strstr
  • reverse a b: reverse from the a-th character to the b-th character of strstr
  • replace a b p: replace from the a-th character to the b-th character of strstr with p

Note that the indices of strstr start with 0.

Constraints

  • 11 \leq length of str1000str \leq 1000
  • 1q1001 \leq q \leq 100
  • 0ab<0 \leq a \leq b < length of strstr
  • for replace command, ba+1=b - a + 1 = length of pp

Input

In the first line, a string strstr is given. strstr consists of lowercase letters. In the second line, the number of commands q is given. In the next q lines, each command is given in the above mentioned format.

Output

For each print command, print a string in a line.

Examples

Input

abcde 3 replace 1 3 xyz reverse 0 2 print 1 4

Output

xaze

Input

xyz 3 print 0 2 replace 0 2 abc print 0 2

Output

xyz abc

inputFormat

Input

In the first line, a string strstr is given. strstr consists of lowercase letters. In the second line, the number of commands q is given. In the next q lines, each command is given in the above mentioned format.

outputFormat

Output

For each print command, print a string in a line.

Examples

Input

abcde 3 replace 1 3 xyz reverse 0 2 print 1 4

Output

xaze

Input

xyz 3 print 0 2 replace 0 2 abc print 0 2

Output

xyz abc

样例

abcde
3
replace 1 3 xyz
reverse 0 2
print 1 4
xaze