For problem statement at 0-999/400-499/490-499/494/problemB.txt this is a correct solution, but verifier at 0-999/400-499/490-499/494/verifierB.go ends with All 100 tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
const MOD = 1000000007
func main() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Buffer(make([]byte, 1024), 1024*1024)
scanner.Scan()
s := scanner.Text()
scanner.Scan()
t := scanner.Text()
n, m := len(s), len(t)
isStart := make([]bool, n)
if m <= n {
pi := make([]int, m)
for i := 1; i < m; i++ {
j := pi[i-1]
for j > 0 && t[i] != t[j] {
j = pi[j-1]
}
if t[i] == t[j] {
j++
}
pi[i] = j
}
j := 0
for i := 0; i < n; i++ {
for j > 0 && s[i] != t[j] {
j = pi[j-1]
}
if s[i] == t[j] {
j++
}
if j == m {
isStart[i-m+1] = true
j = pi[j-1]
}
}
}
curr := -1
dp := make([]int, n+1)
pref := make([]int, n+1)
dp[0] = 1
pref[0] = 1
for i := 1; i <= n; i++ {
if i >= m && isStart[i-m] {
curr = i - m
}
dp[i] = dp[i-1]
if curr >= 0 {
dp[i] = (dp[i] + pref[curr]) % MOD
}
pref[i] = (pref[i-1] + dp[i]) % MOD
}
ans := (dp[n] - 1 + MOD) % MOD
fmt.Println(ans)
}
```