← Home
For problem statement at 0-999/700-799/750-759/756/problemD.txt this is a correct solution, but verifier at 0-999/700-799/750-759/756/verifierD.go ends with All tests passed can you fix the verifier? ```go
package main

import "fmt"

func main() {
	const MOD = 1000000007
	var n int
	var s string
	fmt.Scan(&n, &s)

	prev := make([]int, n+1)
	last := make([]int, 26)
	for i := 1; i <= n; i++ {
		c := s[i-1] - 'a'
		prev[i] = last[c]
		last[c] = i
	}

	dp := make([]int, n+1)
	for i := 1; i <= n; i++ {
		if prev[i] == 0 {
			dp[i] = 1
		}
	}

	pref := make([]int, n+1)
	newdp := make([]int, n+1)

	for step := 2; step <= n; step++ {
		pref[0] = 0
		for i := 1; i <= n; i++ {
			pref[i] = (pref[i-1] + dp[i]) % MOD
		}
		for i := 1; i <= n; i++ {
			newdp[i] = (pref[i] - pref[prev[i]] + MOD) % MOD
		}
		dp, newdp = newdp, dp
	}

	ans := 0
	for i := 1; i <= n; i++ {
		ans = (ans + dp[i]) % MOD
	}
	fmt.Println(ans)
}
```