str = gets.chomp
q = gets.to_i
q.times do
	args = gets.split
	case args[0]
	when "print"
		puts str.slice(args[1].to_i, args[2].to_i)
	when "reverse"
		s = str.clone
		(args[1].to_i..args[2].to_i).each do |i|
			s[i] = str[args[2].to_i - i]
		end
		puts s
	when "replace"
		s = str.clone
		(args[1].to_i..args[2].to_i).each do |i|
			s[i] = args[3][i - args[1].to_i]
		end
		puts s
	end
end