← Home
```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var n, m int
	fmt.Fscan(in, &n, &m)
	
	var s string
	fmt.Fscan(in, &s)
	
	b := []byte(s)
	
	for i := 0; i < m; i++ {
		var l, r int
		var c1, c2 string
		fmt.Fscan(in, &l, &r, &c1, &c2)
		
		left := l - 1
		right := r - 1
		from := c1[0]
		to := c2[0]
		
		for j := left; j <= right; j++ {
			if b[j] == from {
				b[j] = to
			}
		}
	}
	
	fmt.Fprintln(out, string(b))
}
```