For problem statement at 1000-1999/1900-1999/1960-1969/1968/problemG1.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1960-1969/1968/verifierG1.go ends with All 100 tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
fmt.Fscan(reader, &t)
for i := 0; i < t; i++ {
var n, l, r int
fmt.Fscan(reader, &n, &l, &r)
var s string
fmt.Fscan(reader, &s)
k := l
z := make([]int, n)
L, R := 0, 0
for j := 1; j < n; j++ {
if j <= R {
min := R - j + 1
if z[j-L] < min {
min = z[j-L]
}
z[j] = min
}
for j+z[j] < n && s[z[j]] == s[j+z[j]] {
z[j]++
}
if j+z[j]-1 > R {
L, R = j, j+z[j]-1
}
}
low, high := 1, n/k
ans := 0
for low <= high {
mid := (low + high) / 2
cnt := 1
for idx := mid; idx <= n-mid; {
if z[idx] >= mid {
cnt++
if cnt >= k {
break
}
idx += mid
} else {
idx++
}
}
if cnt >= k {
ans = mid
low = mid + 1
} else {
high = mid - 1
}
}
fmt.Fprintln(writer, ans)
}
}
```