← Home
package main

import (
	"bufio"
	"io"
	"os"
)

type FastScanner struct {
	data []byte
	idx  int
	n    int
}

func NewFastScanner() *FastScanner {
	data, _ := io.ReadAll(os.Stdin)
	return &FastScanner{data: data, n: len(data)}
}

func (fs *FastScanner) nextInt() int {
	for fs.idx < fs.n && (fs.data[fs.idx] == ' ' || fs.data[fs.idx] == '\n' || fs.data[fs.idx] == '\r' || fs.data[fs.idx] == '\t') {
		fs.idx++
	}
	sign := 1
	if fs.idx < fs.n && fs.data[fs.idx] == '-' {
		sign = -1
		fs.idx++
	}
	val := 0
	for fs.idx < fs.n && fs.data[fs.idx] >= '0' && fs.data[fs.idx] <= '9' {
		val = val*10 + int(fs.data[fs.idx]-'0')
		fs.idx++
	}
	return val * sign
}

func (fs *FastScanner) nextString() string {
	for fs.idx < fs.n && (fs.data[fs.idx] == ' ' || fs.data[fs.idx] == '\n' || fs.data[fs.idx] == '\r' || fs.data[fs.idx] == '\t') {
		fs.idx++
	}
	start := fs.idx
	for fs.idx < fs.n && fs.data[fs.idx] != ' ' && fs.data[fs.idx] != '\n' && fs.data[fs.idx] != '\r' && fs.data[fs.idx] != '\t' {
		fs.idx++
	}
	return string(fs.data[start:fs.idx])
}

func main() {
	fs := NewFastScanner()
	out := bufio.NewWriterSize(os.Stdout, 1<<20)
	defer out.Flush()

	n := fs.nextInt()
	m := fs.nextInt()
	q := fs.nextInt()
	s := fs.nextString()
	t := fs.nextString()

	good := make([]int, n+1)
	for i := 1; i+m-1 <= n; i++ {
		match := true
		for j := 0; j < m; j++ {
			if s[i-1+j] != t[j] {
				match = false
				break
			}
		}
		if match {
			good[i] = 1
		}
	}

	pref := make([]int, n+1)
	for i := 1; i <= n; i++ {
		pref[i] = pref[i-1] + good[i]
	}

	buf := make([]byte, 0, q*4)
	writeInt := func(x int) {
		if x == 0 {
			buf = append(buf, '0', '\n')
			return
		}
		start := len(buf)
		for x > 0 {
			buf = append(buf, byte('0'+x%10))
			x /= 10
		}
		for l, r := start, len(buf)-1; l < r; l, r = l+1, r-1 {
			buf[l], buf[r] = buf[r], buf[l]
		}
		buf = append(buf, '\n')
	}

	for ; q > 0; q-- {
		l := fs.nextInt()
		r := fs.nextInt()
		end := r - m + 1
		if end < l {
			writeInt(0)
		} else {
			writeInt(pref[end] - pref[l-1])
		}
	}

	out.Write(buf)
}