str = gets.chomp
q = gets.to_i
q.times do
  o,a,b,p = gets.split
  case o
  when 'print'
    puts str[a.to_i..b.to_i]
  when 'reverse'
    str[a.to_i..b.to_i] = str[a.to_i..b.to_i].reverse
  when 'replace'
    str[a.to_i..b.to_i] = p
  end
end