str = gets.chomp
n = gets.chomp.to_i
n.times do 
  c, p1, p2, p3 = gets.chomp.split /\s/

  p1 = p1.to_i
  p2 = p2.to_i

  case c
  when "print"
    puts str[p1..p2] 
  when "reverse"
    str[p1..p2] = str[p1..p2].reverse
  when "replace"
    str[p1..p2] = p3
  end
end
