str = gets.chomp
q = gets.chomp.to_i
for i in 1..q do
  input = gets.chomp.split(" ")
  case input[0]
  when "print" then
    a,b = input[1].to_i, input[2].to_i
    printf("%s\n",str[a,b-a+1])
  when "reverse" then
    a,b = input[1].to_i, input[2].to_i
    str = str[0,a] + str[a,b-a+1].reverse + str[b+1,str.size-(b+1)]
  when "replace" then
    a,b,p = input[1].to_i, input[2].to_i,input[3] 
    str = str[0,a] + p + str[b+1,str.size-(b+1)]
  end
end
