str = gets.chomp.to_s
n = gets.to_i

n.times {
  s, a, b, p = gets.split.map(&:to_s)
  a = a.to_i
  b = b.to_i

  if s == "replace"
    str.slice!(a..b)
    str.insert(a, p)
  elsif s == "reverse"
    str2 = str.slice!(a..b).reverse!
    str.insert(a, str2)
  else
    puts str.slice(a..b)
  end
}